From 6fd6cb6616dfb04cb383cace550c2100e54daaa5 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Fri, 10 Nov 2017 13:47:50 +1100 Subject: ac: add basic nir -> llvm type helper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Nicolai Hähnle Reviewed-by: Marek Olšák --- src/amd/common/ac_nir_to_llvm.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/amd/common') diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index b58bae90c5d..8610e367158 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -161,6 +161,28 @@ nir_to_llvm_context_from_abi(struct ac_shader_abi *abi) return container_of(abi, ctx, abi); } +static LLVMTypeRef +nir2llvmtype(struct ac_nir_context *ctx, + const struct glsl_type *type) +{ + switch (glsl_get_base_type(glsl_without_array(type))) { + case GLSL_TYPE_UINT: + case GLSL_TYPE_INT: + return ctx->ac.i32; + case GLSL_TYPE_UINT64: + case GLSL_TYPE_INT64: + return ctx->ac.i64; + case GLSL_TYPE_DOUBLE: + return ctx->ac.f64; + case GLSL_TYPE_FLOAT: + return ctx->ac.f32; + default: + assert(!"Unsupported type in nir2llvmtype()"); + break; + } + return 0; +} + static LLVMValueRef get_sampler_desc(struct ac_nir_context *ctx, const nir_deref_var *deref, enum ac_descriptor_type desc_type, -- cgit v1.2.3