diff options
Diffstat (limited to 'src/intel/isl/isl_format.c')
-rw-r--r-- | src/intel/isl/isl_format.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c index 32bd70186c6..353aea4bdf9 100644 --- a/src/intel/isl/isl_format.c +++ b/src/intel/isl/isl_format.c @@ -25,32 +25,30 @@ #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 |