summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-09-13 05:17:26 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-09-13 05:27:04 +0200
commit99e23bd0fdb705903f83e7cd5bb4222a2ce5c542 (patch)
treec87bb539ac697b54dfe78e8aa2dda8aa3171b4fb
parentMerge pull request #2823 from ReinUsesLisp/shr-clamp (diff)
downloadyuzu-99e23bd0fdb705903f83e7cd5bb4222a2ce5c542.tar
yuzu-99e23bd0fdb705903f83e7cd5bb4222a2ce5c542.tar.gz
yuzu-99e23bd0fdb705903f83e7cd5bb4222a2ce5c542.tar.bz2
yuzu-99e23bd0fdb705903f83e7cd5bb4222a2ce5c542.tar.lz
yuzu-99e23bd0fdb705903f83e7cd5bb4222a2ce5c542.tar.xz
yuzu-99e23bd0fdb705903f83e7cd5bb4222a2ce5c542.tar.zst
yuzu-99e23bd0fdb705903f83e7cd5bb4222a2ce5c542.zip
-rw-r--r--src/video_core/surface.cpp20
-rw-r--r--src/video_core/surface.h2
2 files changed, 22 insertions, 0 deletions
diff --git a/src/video_core/surface.cpp b/src/video_core/surface.cpp
index 4ceb219be..53d0142cb 100644
--- a/src/video_core/surface.cpp
+++ b/src/video_core/surface.cpp
@@ -513,6 +513,26 @@ bool IsPixelFormatASTC(PixelFormat format) {
}
}
+bool IsPixelFormatSRGB(PixelFormat format) {
+ switch (format) {
+ case PixelFormat::RGBA8_SRGB:
+ case PixelFormat::BGRA8_SRGB:
+ case PixelFormat::DXT1_SRGB:
+ case PixelFormat::DXT23_SRGB:
+ case PixelFormat::DXT45_SRGB:
+ case PixelFormat::BC7U_SRGB:
+ case PixelFormat::ASTC_2D_4X4_SRGB:
+ case PixelFormat::ASTC_2D_8X8_SRGB:
+ case PixelFormat::ASTC_2D_8X5_SRGB:
+ case PixelFormat::ASTC_2D_5X4_SRGB:
+ case PixelFormat::ASTC_2D_5X5_SRGB:
+ case PixelFormat::ASTC_2D_10X8_SRGB:
+ return true;
+ default:
+ return false;
+ }
+}
+
std::pair<u32, u32> GetASTCBlockSize(PixelFormat format) {
return {GetDefaultBlockWidth(format), GetDefaultBlockHeight(format)};
}
diff --git a/src/video_core/surface.h b/src/video_core/surface.h
index 83f31c12c..19268b7cd 100644
--- a/src/video_core/surface.h
+++ b/src/video_core/surface.h
@@ -547,6 +547,8 @@ SurfaceType GetFormatType(PixelFormat pixel_format);
bool IsPixelFormatASTC(PixelFormat format);
+bool IsPixelFormatSRGB(PixelFormat format);
+
std::pair<u32, u32> GetASTCBlockSize(PixelFormat format);
/// Returns true if the specified PixelFormat is a BCn format, e.g. DXT or DXN