metal: partial implementation of pipeline states.

Add BGRA8 pixel format.
This commit is contained in:
Alex Szpakowski
2020-05-03 12:48:43 -03:00
parent 3a8f6a35a2
commit 9765485222
13 changed files with 318 additions and 144 deletions
+10 -4
View File
@@ -32,10 +32,10 @@ MTLPixelFormat Metal::convertPixelFormat(PixelFormat format, bool &isSRGB)
{
MTLPixelFormat mtlformat = MTLPixelFormatRGBA8Unorm;
if (format == PIXELFORMAT_RGBA8_UNORM && isSRGB)
format = PIXELFORMAT_sRGBA8_UNORM;
if (isSRGB)
format = getSRGBPixelFormat(format);
if (!isPixelFormatCompressed(format) && format != PIXELFORMAT_sRGBA8_UNORM)
if (!isPixelFormatCompressed(format) && !isPixelFormatSRGB(format))
isSRGB = false;
switch (format)
@@ -49,9 +49,15 @@ MTLPixelFormat Metal::convertPixelFormat(PixelFormat format, bool &isSRGB)
case PIXELFORMAT_RGBA8_UNORM:
mtlformat = MTLPixelFormatRGBA8Unorm;
break;
case PIXELFORMAT_sRGBA8_UNORM:
case PIXELFORMAT_RGBA8_UNORM_sRGB:
mtlformat = MTLPixelFormatRGBA8Unorm_sRGB;
break;
case PIXELFORMAT_BGRA8_UNORM:
mtlformat = MTLPixelFormatBGRA8Unorm;
break;
case PIXELFORMAT_BGRA8_UNORM_sRGB:
mtlformat = MTLPixelFormatBGRA8Unorm_sRGB;
break;
case PIXELFORMAT_R16_UNORM:
mtlformat = MTLPixelFormatR16Unorm;
break;