From 3415cf5f2f66128488a260f024e075f239368c35 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Fri, 15 Apr 2016 21:31:47 -0700 Subject: [PATCH] isl/format: Add more isl_format_has_type_channel functions Reviewed-by: Chad Versace --- 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 47d3a68ae4a..bc242dbd4a3 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 353aea4bdf9..fd16ea19658 100644 --- a/src/intel/isl/isl_format.c +++ b/src/intel/isl/isl_format.c @@ -39,6 +39,30 @@ isl_format_has_channel_type(enum isl_format fmt, enum isl_base_type type) fmtl->channels.p.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) { -- 2.30.2