ac: add basic nir -> llvm type helper

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Timothy Arceri 2017-11-10 13:47:50 +11:00
parent 4184e7c417
commit 6fd6cb6616
1 changed files with 22 additions and 0 deletions

View File

@ -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,