Mesa (master): intel/compiler: Move brw_reg_type_for_bit_size to brw_reg_type.h
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jan 22 19:12:48 UTC 2021
Module: Mesa
Branch: master
Commit: e797daba538e605b6b94cb28c922384cef9ef014
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e797daba538e605b6b94cb28c922384cef9ef014
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Mon Oct 26 12:22:20 2020 -0500
intel/compiler: Move brw_reg_type_for_bit_size to brw_reg_type.h
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7329>
---
src/intel/compiler/brw_fs_nir.cpp | 65 ---------------------------------------
src/intel/compiler/brw_reg_type.h | 60 ++++++++++++++++++++++++++++++++++++
2 files changed, 60 insertions(+), 65 deletions(-)
diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
index 19ead829755..ff22266af91 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -293,71 +293,6 @@ fs_visitor::nir_emit_system_values()
emit_system_values_block(block, this);
}
-/*
- * Returns a type based on a reference_type (word, float, half-float) and a
- * given bit_size.
- *
- * Reference BRW_REGISTER_TYPE are HF,F,DF,W,D,UW,UD.
- *
- * @FIXME: 64-bit return types are always DF on integer types to maintain
- * compability with uses of DF previously to the introduction of int64
- * support.
- */
-static brw_reg_type
-brw_reg_type_from_bit_size(const unsigned bit_size,
- const brw_reg_type reference_type)
-{
- switch(reference_type) {
- case BRW_REGISTER_TYPE_HF:
- case BRW_REGISTER_TYPE_F:
- case BRW_REGISTER_TYPE_DF:
- switch(bit_size) {
- case 16:
- return BRW_REGISTER_TYPE_HF;
- case 32:
- return BRW_REGISTER_TYPE_F;
- case 64:
- return BRW_REGISTER_TYPE_DF;
- default:
- unreachable("Invalid bit size");
- }
- case BRW_REGISTER_TYPE_B:
- case BRW_REGISTER_TYPE_W:
- case BRW_REGISTER_TYPE_D:
- case BRW_REGISTER_TYPE_Q:
- switch(bit_size) {
- case 8:
- return BRW_REGISTER_TYPE_B;
- case 16:
- return BRW_REGISTER_TYPE_W;
- case 32:
- return BRW_REGISTER_TYPE_D;
- case 64:
- return BRW_REGISTER_TYPE_Q;
- default:
- unreachable("Invalid bit size");
- }
- case BRW_REGISTER_TYPE_UB:
- case BRW_REGISTER_TYPE_UW:
- case BRW_REGISTER_TYPE_UD:
- case BRW_REGISTER_TYPE_UQ:
- switch(bit_size) {
- case 8:
- return BRW_REGISTER_TYPE_UB;
- case 16:
- return BRW_REGISTER_TYPE_UW;
- case 32:
- return BRW_REGISTER_TYPE_UD;
- case 64:
- return BRW_REGISTER_TYPE_UQ;
- default:
- unreachable("Invalid bit size");
- }
- default:
- unreachable("Unknown type");
- }
-}
-
void
fs_visitor::nir_emit_impl(nir_function_impl *impl)
{
diff --git a/src/intel/compiler/brw_reg_type.h b/src/intel/compiler/brw_reg_type.h
index a17c93ee90e..9263a987060 100644
--- a/src/intel/compiler/brw_reg_type.h
+++ b/src/intel/compiler/brw_reg_type.h
@@ -100,6 +100,66 @@ brw_reg_type_is_integer(enum brw_reg_type type)
}
}
+/*
+ * Returns a type based on a reference_type (word, float, half-float) and a
+ * given bit_size.
+ */
+static inline enum brw_reg_type
+brw_reg_type_from_bit_size(unsigned bit_size,
+ enum brw_reg_type reference_type)
+{
+ switch(reference_type) {
+ case BRW_REGISTER_TYPE_HF:
+ case BRW_REGISTER_TYPE_F:
+ case BRW_REGISTER_TYPE_DF:
+ switch(bit_size) {
+ case 16:
+ return BRW_REGISTER_TYPE_HF;
+ case 32:
+ return BRW_REGISTER_TYPE_F;
+ case 64:
+ return BRW_REGISTER_TYPE_DF;
+ default:
+ unreachable("Invalid bit size");
+ }
+ case BRW_REGISTER_TYPE_B:
+ case BRW_REGISTER_TYPE_W:
+ case BRW_REGISTER_TYPE_D:
+ case BRW_REGISTER_TYPE_Q:
+ switch(bit_size) {
+ case 8:
+ return BRW_REGISTER_TYPE_B;
+ case 16:
+ return BRW_REGISTER_TYPE_W;
+ case 32:
+ return BRW_REGISTER_TYPE_D;
+ case 64:
+ return BRW_REGISTER_TYPE_Q;
+ default:
+ unreachable("Invalid bit size");
+ }
+ case BRW_REGISTER_TYPE_UB:
+ case BRW_REGISTER_TYPE_UW:
+ case BRW_REGISTER_TYPE_UD:
+ case BRW_REGISTER_TYPE_UQ:
+ switch(bit_size) {
+ case 8:
+ return BRW_REGISTER_TYPE_UB;
+ case 16:
+ return BRW_REGISTER_TYPE_UW;
+ case 32:
+ return BRW_REGISTER_TYPE_UD;
+ case 64:
+ return BRW_REGISTER_TYPE_UQ;
+ default:
+ unreachable("Invalid bit size");
+ }
+ default:
+ unreachable("Unknown type");
+ }
+}
+
+
#define INVALID_REG_TYPE ((enum brw_reg_type)-1)
#define INVALID_HW_REG_TYPE ((unsigned)-1)
More information about the mesa-commit
mailing list