Mesa (master): ac: add basic nir -> llvm type helper

Timothy Arceri tarceri at kemper.freedesktop.org
Mon Dec 4 01:54:05 UTC 2017


Module: Mesa
Branch: master
Commit: 6fd6cb6616dfb04cb383cace550c2100e54daaa5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6fd6cb6616dfb04cb383cace550c2100e54daaa5

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Fri Nov 10 13:47:50 2017 +1100

ac: add basic nir -> llvm type helper

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/amd/common/ac_nir_to_llvm.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index b58bae90c5..8610e36715 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,




More information about the mesa-commit mailing list