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:
parent
4184e7c417
commit
6fd6cb6616
|
@ -161,6 +161,28 @@ nir_to_llvm_context_from_abi(struct ac_shader_abi *abi)
|
||||||
return container_of(abi, ctx, 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,
|
static LLVMValueRef get_sampler_desc(struct ac_nir_context *ctx,
|
||||||
const nir_deref_var *deref,
|
const nir_deref_var *deref,
|
||||||
enum ac_descriptor_type desc_type,
|
enum ac_descriptor_type desc_type,
|
||||||
|
|
Loading…
Reference in New Issue