summaryrefslogtreecommitdiffstats
path: root/src/intel/isl/isl_format.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel/isl/isl_format.c')
-rw-r--r--src/intel/isl/isl_format.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/intel/isl/isl_format.c b/src/intel/isl/isl_format.c
index ef1324c370a..28f63a75d7c 100644
--- a/src/intel/isl/isl_format.c
+++ b/src/intel/isl/isl_format.c
@@ -372,6 +372,15 @@ isl_format_supports_sampling(const struct brw_device_info *devinfo,
if (!format_info[format].exists)
return false;
+ if (devinfo->is_baytrail) {
+ const struct isl_format_layout *fmtl = isl_format_get_layout(format);
+ /* Support for ETC1 and ETC2 exists on Bay Trail even though big-core
+ * GPUs didn't get it until Broadwell.
+ */
+ if (fmtl->txc == ISL_TXC_ETC1 || fmtl->txc == ISL_TXC_ETC2)
+ return true;
+ }
+
return format_gen(devinfo) >= format_info[format].sampling;
}
@@ -382,6 +391,15 @@ isl_format_supports_filtering(const struct brw_device_info *devinfo,
if (!format_info[format].exists)
return false;
+ if (devinfo->is_baytrail) {
+ const struct isl_format_layout *fmtl = isl_format_get_layout(format);
+ /* Support for ETC1 and ETC2 exists on Bay Trail even though big-core
+ * GPUs didn't get it until Broadwell.
+ */
+ if (fmtl->txc == ISL_TXC_ETC1 || fmtl->txc == ISL_TXC_ETC2)
+ return true;
+ }
+
return format_gen(devinfo) >= format_info[format].filtering;
}