From 6f47ed28b4b2a007adc4183c818b608ec2f0be83 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Wed, 9 Mar 2016 12:25:47 -0800 Subject: [PATCH] isl: Add more helpers for determining if a format is an integer format --- src/intel/isl/isl.h | 10 ++++++++++ src/intel/isl/isl_format.c | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h index 248a94d64eb..90193ca08c1 100644 --- a/src/intel/isl/isl.h +++ b/src/intel/isl/isl.h @@ -825,9 +825,19 @@ 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_sint_channel(enum isl_format fmt) ATTRIBUTE_CONST; +static inline bool +isl_format_has_int_channel(enum isl_format fmt) +{ + return isl_format_has_uint_channel(fmt) || + isl_format_has_sint_channel(fmt); +} + static inline bool isl_format_is_compressed(enum isl_format fmt) { diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c index 7842197d861..32bd70186c6 100644 --- a/src/intel/isl/isl_format.c +++ b/src/intel/isl/isl_format.c @@ -25,6 +25,20 @@ #include "isl.h" +bool +isl_format_has_uint_channel(enum isl_format fmt) +{ + 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; +} + bool isl_format_has_sint_channel(enum isl_format fmt) { -- 2.30.2