Browse Source

Fix missing sRGB<->Linear pixel format swaps for DXT and BC formats.

Sasha Szpakowski 1 year ago
parent
commit
1084d94f90
1 changed files with 8 additions and 0 deletions
  1. 8 0
      src/common/pixelformat.cpp

+ 8 - 0
src/common/pixelformat.cpp

@@ -342,6 +342,10 @@ PixelFormat getSRGBPixelFormat(PixelFormat format)
 	{
 	{
 	case PIXELFORMAT_RGBA8_UNORM: return PIXELFORMAT_RGBA8_sRGB;
 	case PIXELFORMAT_RGBA8_UNORM: return PIXELFORMAT_RGBA8_sRGB;
 	case PIXELFORMAT_BGRA8_UNORM: return PIXELFORMAT_BGRA8_sRGB;
 	case PIXELFORMAT_BGRA8_UNORM: return PIXELFORMAT_BGRA8_sRGB;
+	case PIXELFORMAT_DXT1_UNORM: return PIXELFORMAT_DXT1_sRGB;
+	case PIXELFORMAT_DXT3_UNORM: return PIXELFORMAT_DXT3_sRGB;
+	case PIXELFORMAT_DXT5_UNORM: return PIXELFORMAT_DXT5_sRGB;
+	case PIXELFORMAT_BC7_UNORM: return PIXELFORMAT_BC7_sRGB;
 	case PIXELFORMAT_PVR1_RGB2_UNORM: return PIXELFORMAT_PVR1_RGB2_sRGB;
 	case PIXELFORMAT_PVR1_RGB2_UNORM: return PIXELFORMAT_PVR1_RGB2_sRGB;
 	case PIXELFORMAT_PVR1_RGB4_UNORM: return PIXELFORMAT_PVR1_RGB4_sRGB;
 	case PIXELFORMAT_PVR1_RGB4_UNORM: return PIXELFORMAT_PVR1_RGB4_sRGB;
 	case PIXELFORMAT_PVR1_RGBA2_UNORM: return PIXELFORMAT_PVR1_RGBA2_sRGB;
 	case PIXELFORMAT_PVR1_RGBA2_UNORM: return PIXELFORMAT_PVR1_RGBA2_sRGB;
@@ -374,6 +378,10 @@ PixelFormat getLinearPixelFormat(PixelFormat format)
 	{
 	{
 	case PIXELFORMAT_RGBA8_sRGB: return PIXELFORMAT_RGBA8_UNORM;
 	case PIXELFORMAT_RGBA8_sRGB: return PIXELFORMAT_RGBA8_UNORM;
 	case PIXELFORMAT_BGRA8_sRGB: return PIXELFORMAT_BGRA8_UNORM;
 	case PIXELFORMAT_BGRA8_sRGB: return PIXELFORMAT_BGRA8_UNORM;
+	case PIXELFORMAT_DXT1_sRGB: return PIXELFORMAT_DXT1_UNORM;
+	case PIXELFORMAT_DXT3_sRGB: return PIXELFORMAT_DXT3_UNORM;
+	case PIXELFORMAT_DXT5_sRGB: return PIXELFORMAT_DXT5_UNORM;
+	case PIXELFORMAT_BC7_sRGB: return PIXELFORMAT_BC7_UNORM;
 	case PIXELFORMAT_PVR1_RGB2_sRGB: return PIXELFORMAT_PVR1_RGB2_UNORM;
 	case PIXELFORMAT_PVR1_RGB2_sRGB: return PIXELFORMAT_PVR1_RGB2_UNORM;
 	case PIXELFORMAT_PVR1_RGB4_sRGB: return PIXELFORMAT_PVR1_RGB4_UNORM;
 	case PIXELFORMAT_PVR1_RGB4_sRGB: return PIXELFORMAT_PVR1_RGB4_UNORM;
 	case PIXELFORMAT_PVR1_RGBA2_sRGB: return PIXELFORMAT_PVR1_RGBA2_UNORM;
 	case PIXELFORMAT_PVR1_RGBA2_sRGB: return PIXELFORMAT_PVR1_RGBA2_UNORM;