Mesa (master): isl/format: Add more isl_format_has_type_channel functions

Jason Ekstrand jekstrand at kemper.freedesktop.org
Fri Apr 22 03:45:38 UTC 2016


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Apr 15 21:31:47 2016 -0700

isl/format: Add more isl_format_has_type_channel functions

Reviewed-by: Chad Versace <chad.versace at intel.com>

---

 src/intel/isl/isl.h        | 23 +++++++++++++++++++----
 src/intel/isl/isl_format.c | 24 ++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h
index 47d3a68..bc242db 100644
--- a/src/intel/isl/isl.h
+++ b/src/intel/isl/isl.h
@@ -826,11 +826,26 @@ isl_format_get_layout(enum isl_format fmt)
    return &isl_format_layouts[fmt];
 }
 
-bool
-isl_format_has_uint_channel(enum isl_format fmt) ATTRIBUTE_CONST;
+bool isl_format_has_unorm_channel(enum isl_format fmt) ATTRIBUTE_CONST;
+bool isl_format_has_snorm_channel(enum isl_format fmt) ATTRIBUTE_CONST;
+bool isl_format_has_ufloat_channel(enum isl_format fmt) ATTRIBUTE_CONST;
+bool isl_format_has_sfloat_channel(enum isl_format fmt) ATTRIBUTE_CONST;
+bool isl_format_has_uint_channel(enum isl_format fmt) ATTRIBUTE_CONST;
+bool isl_format_has_sint_channel(enum isl_format fmt) ATTRIBUTE_CONST;
 
-bool
-isl_format_has_sint_channel(enum isl_format fmt) ATTRIBUTE_CONST;
+static inline bool
+isl_format_has_normalized_channel(enum isl_format fmt)
+{
+   return isl_format_has_unorm_channel(fmt) ||
+          isl_format_has_snorm_channel(fmt);
+}
+
+static inline bool
+isl_format_has_float_channel(enum isl_format fmt)
+{
+   return isl_format_has_ufloat_channel(fmt) ||
+          isl_format_has_sfloat_channel(fmt);
+}
 
 static inline bool
 isl_format_has_int_channel(enum isl_format fmt)
diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c
index 353aea4..fd16ea1 100644
--- a/src/intel/isl/isl_format.c
+++ b/src/intel/isl/isl_format.c
@@ -40,6 +40,30 @@ isl_format_has_channel_type(enum isl_format fmt, enum isl_base_type type)
 }
 
 bool
+isl_format_has_unorm_channel(enum isl_format fmt)
+{
+   return isl_format_has_channel_type(fmt, ISL_UNORM);
+}
+
+bool
+isl_format_has_snorm_channel(enum isl_format fmt)
+{
+   return isl_format_has_channel_type(fmt, ISL_SNORM);
+}
+
+bool
+isl_format_has_ufloat_channel(enum isl_format fmt)
+{
+   return isl_format_has_channel_type(fmt, ISL_UFLOAT);
+}
+
+bool
+isl_format_has_sfloat_channel(enum isl_format fmt)
+{
+   return isl_format_has_channel_type(fmt, ISL_SFLOAT);
+}
+
+bool
 isl_format_has_uint_channel(enum isl_format fmt)
 {
    return isl_format_has_channel_type(fmt, ISL_UINT);




More information about the mesa-commit mailing list