isl/format: Break the guts of has_[us]int_channel into a helper
authorJason Ekstrand <jason.ekstrand@intel.com>
Sat, 16 Apr 2016 04:25:00 +0000 (21:25 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 22 Apr 2016 03:44:27 +0000 (20:44 -0700)
Reviewed-by: Chad Versace <chad.versace@intel.com>
src/intel/isl/isl_format.c

index 32bd701..353aea4 100644 (file)
 
 #include "isl.h"
 
-bool
-isl_format_has_uint_channel(enum isl_format fmt)
+static inline bool
+isl_format_has_channel_type(enum isl_format fmt, enum isl_base_type type)
 {
    const struct isl_format_layout *fmtl = isl_format_get_layout(fmt);
 
-   return fmtl->channels.r.type == ISL_UINT ||
-          fmtl->channels.g.type == ISL_UINT ||
-          fmtl->channels.b.type == ISL_UINT ||
-          fmtl->channels.a.type == ISL_UINT ||
-          fmtl->channels.l.type == ISL_UINT ||
-          fmtl->channels.i.type == ISL_UINT ||
-          fmtl->channels.p.type == ISL_UINT;
+   return fmtl->channels.r.type == type ||
+          fmtl->channels.g.type == type ||
+          fmtl->channels.b.type == type ||
+          fmtl->channels.a.type == type ||
+          fmtl->channels.l.type == type ||
+          fmtl->channels.i.type == type ||
+          fmtl->channels.p.type == type;
 }
 
 bool
-isl_format_has_sint_channel(enum isl_format fmt)
+isl_format_has_uint_channel(enum isl_format fmt)
 {
-   const struct isl_format_layout *fmtl = isl_format_get_layout(fmt);
+   return isl_format_has_channel_type(fmt, ISL_UINT);
+}
 
-   return fmtl->channels.r.type == ISL_SINT ||
-          fmtl->channels.g.type == ISL_SINT ||
-          fmtl->channels.b.type == ISL_SINT ||
-          fmtl->channels.a.type == ISL_SINT ||
-          fmtl->channels.l.type == ISL_SINT ||
-          fmtl->channels.i.type == ISL_SINT ||
-          fmtl->channels.p.type == ISL_SINT;
+bool
+isl_format_has_sint_channel(enum isl_format fmt)
+{
+   return isl_format_has_channel_type(fmt, ISL_SINT);
 }
 
 enum isl_format