From b7ebbb07b6e86c7e7c5cfd0c623fb9db425d443b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Thu, 27 Aug 2015 16:35:27 -0700 Subject: [PATCH] Added snorm texture formats. --- include/bgfx.c99.h | 6 ++++++ include/bgfx.h | 6 ++++++ src/image.cpp | 12 ++++++++++++ src/renderer_d3d11.cpp | 6 ++++++ src/renderer_d3d12.cpp | 6 ++++++ src/renderer_d3d9.cpp | 6 ++++++ src/renderer_gl.cpp | 22 +++++++++++++++++++++- src/renderer_mtl.mm | 6 ++++++ 8 files changed, 69 insertions(+), 1 deletion(-) diff --git a/include/bgfx.c99.h b/include/bgfx.c99.h index 8f7a004b..b0791410 100644 --- a/include/bgfx.c99.h +++ b/include/bgfx.c99.h @@ -99,19 +99,25 @@ typedef enum bgfx_texture_format BGFX_TEXTURE_FORMAT_R1, BGFX_TEXTURE_FORMAT_R8, + BGFX_TEXTURE_FORMAT_R8S, BGFX_TEXTURE_FORMAT_R16, BGFX_TEXTURE_FORMAT_R16F, + BGFX_TEXTURE_FORMAT_R16S, BGFX_TEXTURE_FORMAT_R32, BGFX_TEXTURE_FORMAT_R32F, BGFX_TEXTURE_FORMAT_RG8, + BGFX_TEXTURE_FORMAT_RG8S, BGFX_TEXTURE_FORMAT_RG16, BGFX_TEXTURE_FORMAT_RG16F, + BGFX_TEXTURE_FORMAT_RG16S, BGFX_TEXTURE_FORMAT_RG32, BGFX_TEXTURE_FORMAT_RG32F, BGFX_TEXTURE_FORMAT_BGRA8, BGFX_TEXTURE_FORMAT_RGBA8, + BGFX_TEXTURE_FORMAT_RGBA8S, BGFX_TEXTURE_FORMAT_RGBA16, BGFX_TEXTURE_FORMAT_RGBA16F, + BGFX_TEXTURE_FORMAT_RGBA16S, BGFX_TEXTURE_FORMAT_RGBA32, BGFX_TEXTURE_FORMAT_RGBA32F, BGFX_TEXTURE_FORMAT_R5G6B5, diff --git a/include/bgfx.h b/include/bgfx.h index fea4d976..9e702b77 100644 --- a/include/bgfx.h +++ b/include/bgfx.h @@ -160,19 +160,25 @@ namespace bgfx R1, R8, + R8S, R16, R16F, + R16S, R32, R32F, RG8, + RG8S, RG16, RG16F, + RG16S, RG32, RG32F, BGRA8, RGBA8, + RGBA8S, RGBA16, RGBA16F, + RGBA16S, RGBA32, RGBA32F, R5G6B5, diff --git a/src/image.cpp b/src/image.cpp index e48d2cfc..75357596 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -41,19 +41,25 @@ namespace bgfx { 0, 0, 0, 0, 1, 1, 0, 0 }, // Unknown { 1, 8, 1, 1, 1, 1, 0, 0 }, // R1 { 8, 1, 1, 1, 1, 1, 0, 0 }, // R8 + { 8, 1, 1, 1, 1, 1, 0, 0 }, // R8S { 16, 1, 1, 2, 1, 1, 0, 0 }, // R16 { 16, 1, 1, 2, 1, 1, 0, 0 }, // R16F + { 16, 1, 1, 2, 1, 1, 0, 0 }, // R16S { 32, 1, 1, 4, 1, 1, 0, 0 }, // R32 { 32, 1, 1, 4, 1, 1, 0, 0 }, // R32F { 16, 1, 1, 2, 1, 1, 0, 0 }, // RG8 + { 16, 1, 1, 2, 1, 1, 0, 0 }, // RG8S { 32, 1, 1, 4, 1, 1, 0, 0 }, // RG16 { 32, 1, 1, 4, 1, 1, 0, 0 }, // RG16F + { 32, 1, 1, 4, 1, 1, 0, 0 }, // RG16S { 64, 1, 1, 8, 1, 1, 0, 0 }, // RG32 { 64, 1, 1, 8, 1, 1, 0, 0 }, // RG32F { 32, 1, 1, 4, 1, 1, 0, 0 }, // BGRA8 { 32, 1, 1, 4, 1, 1, 0, 0 }, // RGBA8 + { 32, 1, 1, 4, 1, 1, 0, 0 }, // RGBA8S { 64, 1, 1, 8, 1, 1, 0, 0 }, // RGBA16 { 64, 1, 1, 8, 1, 1, 0, 0 }, // RGBA16F + { 64, 1, 1, 8, 1, 1, 0, 0 }, // RGBA16S { 128, 1, 1, 16, 1, 1, 0, 0 }, // RGBA32 { 128, 1, 1, 16, 1, 1, 0, 0 }, // RGBA32F { 16, 1, 1, 2, 1, 1, 0, 0 }, // R5G6B5 @@ -95,19 +101,25 @@ namespace bgfx "", // Unknown "R1", // R1 "R8", // R8 + "R8S", // R8S "R16", // R16 "R16F", // R16F + "R16S", // R16S "R32", // R32 "R32F", // R32F "RG8", // RG8 + "RG8S", // RG8S "RG16", // RG16 "RG16F", // RG16F + "RG16S", // RG16S "RG32", // RG32 "RG32F", // RG32F "BGRA8", // BGRA8 "RGBA8", // RGBA8 + "RGBA8S", // RGBA8S "RGBA16", // RGBA16 "RGBA16F", // RGBA16F + "RGBA16S", // RGBA16S "RGBA32", // RGBA32 "RGBA32F", // RGBA32F "R5G6B5", // R5G6B5 diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index 4eabf9d3..59e948e4 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -212,19 +212,25 @@ namespace bgfx { namespace d3d11 { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // Unknown { DXGI_FORMAT_R1_UNORM, DXGI_FORMAT_R1_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R1 { DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R8 + { DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R8S { DXGI_FORMAT_R16_UINT, DXGI_FORMAT_R16_UINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R16 { DXGI_FORMAT_R16_FLOAT, DXGI_FORMAT_R16_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R16F + { DXGI_FORMAT_R16_SNORM, DXGI_FORMAT_R16_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R16S { DXGI_FORMAT_R32_UINT, DXGI_FORMAT_R32_UINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R32 { DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R32F { DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG8 + { DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG8S { DXGI_FORMAT_R16G16_UNORM, DXGI_FORMAT_R16G16_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG16 { DXGI_FORMAT_R16G16_FLOAT, DXGI_FORMAT_R16G16_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG16F + { DXGI_FORMAT_R16G16_SNORM, DXGI_FORMAT_R16G16_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG16S { DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG32 { DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG32F { DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_B8G8R8A8_UNORM_SRGB }, // BGRA8 { DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB }, // RGBA8 + { DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA8S { DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA16 { DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA16F + { DXGI_FORMAT_R16G16B16A16_SNORM, DXGI_FORMAT_R16G16B16A16_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA16S { DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA32 { DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA32F { DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R5G6B5 diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp index 465971ad..23ecf6de 100644 --- a/src/renderer_d3d12.cpp +++ b/src/renderer_d3d12.cpp @@ -196,19 +196,25 @@ namespace bgfx { namespace d3d12 { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // Unknown { DXGI_FORMAT_R1_UNORM, DXGI_FORMAT_R1_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R1 { DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R8 + { DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_R8_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R8S { DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R16 { DXGI_FORMAT_R16_FLOAT, DXGI_FORMAT_R16_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R16F + { DXGI_FORMAT_R16_SNORM, DXGI_FORMAT_R16_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R16S { DXGI_FORMAT_R32_UINT, DXGI_FORMAT_R32_UINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R32 { DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_R32_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R32F { DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_R8G8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG8 + { DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_R8G8_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG8S { DXGI_FORMAT_R16G16_UNORM, DXGI_FORMAT_R16G16_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG16 { DXGI_FORMAT_R16G16_FLOAT, DXGI_FORMAT_R16G16_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG16F + { DXGI_FORMAT_R16G16_SNORM, DXGI_FORMAT_R16G16_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG16S { DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_R32G32_UINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG32 { DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_R32G32_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG32F { DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_B8G8R8A8_UNORM_SRGB }, // BGRA8 { DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_R8G8B8A8_UNORM_SRGB }, // RGBA8 + { DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA8S { DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA16 { DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_R16G16B16A16_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA16F + { DXGI_FORMAT_R16G16B16A16_SNORM, DXGI_FORMAT_R16G16B16A16_SNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA16S { DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA32 { DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA32F { DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R5G6B5 diff --git a/src/renderer_d3d9.cpp b/src/renderer_d3d9.cpp index 413e544a..fddc4dd7 100644 --- a/src/renderer_d3d9.cpp +++ b/src/renderer_d3d9.cpp @@ -209,19 +209,25 @@ namespace bgfx { namespace d3d9 { D3DFMT_UNKNOWN }, // Unknown { D3DFMT_A1 }, // R1 { D3DFMT_L8 }, // R8 + { D3DFMT_UNKNOWN }, // R8S { D3DFMT_G16R16 }, // R16 { D3DFMT_R16F }, // R16F + { D3DFMT_UNKNOWN }, // R16S { D3DFMT_UNKNOWN }, // R32 { D3DFMT_R32F }, // R32F { D3DFMT_A8L8 }, // RG8 + { D3DFMT_UNKNOWN }, // RG8S { D3DFMT_G16R16 }, // RG16 { D3DFMT_G16R16F }, // RG16F + { D3DFMT_UNKNOWN }, // RG16S { D3DFMT_UNKNOWN }, // RG32 { D3DFMT_G32R32F }, // RG32F { D3DFMT_A8R8G8B8 }, // BGRA8 { D3DFMT_UNKNOWN }, // RGBA8 + { D3DFMT_UNKNOWN }, // RGBA8S { D3DFMT_A16B16G16R16 }, // RGBA16 { D3DFMT_A16B16G16R16F }, // RGBA16F + { D3DFMT_UNKNOWN }, // RGBA16S { D3DFMT_UNKNOWN }, // RGBA32 { D3DFMT_A32B32G32R32F }, // RGBA32F { D3DFMT_R5G6B5 }, // R5G6B5 diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index 4a638f04..edba0868 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -207,19 +207,25 @@ namespace bgfx { namespace gl { GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, false }, // Unknown { GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, false }, // R1 { GL_R8, GL_ZERO, GL_RED, GL_UNSIGNED_BYTE, false }, // R8 + { GL_R8_SNORM, GL_ZERO, GL_RED, GL_BYTE, false }, // R8S { GL_R16, GL_ZERO, GL_RED, GL_UNSIGNED_SHORT, false }, // R16 { GL_R16F, GL_ZERO, GL_RED, GL_HALF_FLOAT, false }, // R16F + { GL_R16_SNORM, GL_ZERO, GL_RED, GL_SHORT, false }, // R16S { GL_R32UI, GL_ZERO, GL_RED, GL_UNSIGNED_INT, false }, // R32 { GL_R32F, GL_ZERO, GL_RED, GL_FLOAT, false }, // R32F { GL_RG8, GL_ZERO, GL_RG, GL_UNSIGNED_BYTE, false }, // RG8 + { GL_RG8_SNORM, GL_ZERO, GL_RG, GL_BYTE, false }, // RG8S { GL_RG16, GL_ZERO, GL_RG, GL_UNSIGNED_SHORT, false }, // RG16 { GL_RG16F, GL_ZERO, GL_RG, GL_FLOAT, false }, // RG16F + { GL_RG16_SNORM, GL_ZERO, GL_RG, GL_SHORT, false }, // RG16S { GL_RG32UI, GL_ZERO, GL_RG, GL_UNSIGNED_INT, false }, // RG32 { GL_RG32F, GL_ZERO, GL_RG, GL_FLOAT, false }, // RG32F { GL_RGBA8, GL_SRGB8_ALPHA8, GL_BGRA, GL_UNSIGNED_BYTE, false }, // BGRA8 { GL_RGBA8, GL_SRGB8_ALPHA8, GL_RGBA, GL_UNSIGNED_BYTE, false }, // RGBA8 - { GL_RGBA16, GL_ZERO, GL_RGBA, GL_UNSIGNED_BYTE, false }, // RGBA16 + { GL_RGBA8_SNORM, GL_ZERO, GL_RGBA, GL_BYTE, false }, // RGBA8S + { GL_RGBA16, GL_ZERO, GL_RGBA, GL_UNSIGNED_SHORT, false }, // RGBA16 { GL_RGBA16F, GL_ZERO, GL_RGBA, GL_HALF_FLOAT, false }, // RGBA16F + { GL_RGBA16_SNORM, GL_ZERO, GL_RGBA, GL_SHORT, false }, // RGBA16S { GL_RGBA32UI, GL_ZERO, GL_RGBA, GL_UNSIGNED_INT, false }, // RGBA32 { GL_RGBA32F, GL_ZERO, GL_RGBA, GL_FLOAT, false }, // RGBA32F { GL_RGB565, GL_ZERO, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, false }, // R5G6B5 @@ -263,19 +269,25 @@ namespace bgfx { namespace gl GL_ZERO, // Unknown GL_ZERO, // R1 GL_R8, // R8 + GL_R8_SNORM, // R8S GL_R16, // R16 GL_R16F, // R16F + GL_R16_SNORM, // R16S GL_R32UI, // R32 GL_R32F, // R32F GL_RG8, // RG8 + GL_RG8_SNORM, // RG8S GL_RG16, // RG16 GL_RG16F, // RG16F + GL_RG16_SNORM, // RG16S GL_RG32UI, // RG32 GL_RG32F, // RG32F GL_RGBA8, // BGRA8 GL_RGBA8, // RGBA8 + GL_RGBA8_SNORM, // RGBA8S GL_RGBA16, // RGBA16 GL_RGBA16F, // RGBA16F + GL_RGBA16_SNORM, // RGBA16S GL_RGBA32UI, // RGBA32 GL_RGBA32F, // RGBA32F GL_RGB565, // R5G6B5 @@ -317,19 +329,25 @@ namespace bgfx { namespace gl GL_ZERO, // Unknown GL_ZERO, // R1 GL_R8, // R8 + GL_R8_SNORM, // R8S GL_R16, // R16 GL_R16F, // R16F + GL_R16_SNORM, // R16S GL_R32UI, // R32 GL_R32F, // R32F GL_RG8, // RG8 + GL_RG8_SNORM, // RG8S GL_RG16, // RG16 GL_RG16F, // RG16F + GL_RG16_SNORM, // RG16S GL_RG32UI, // RG32 GL_RG32F, // RG32F GL_RGBA8, // BGRA8 GL_RGBA8, // RGBA8 + GL_RGBA8_SNORM, // RGBA8S GL_RGBA16, // RGBA16 GL_RGBA16F, // RGBA16F + GL_RGBA16_SNORM, // RGBA16S GL_RGBA32UI, // RGBA32 GL_RGBA32F, // RGBA32F GL_RGB565, // R5G6B5 @@ -453,6 +471,7 @@ namespace bgfx { namespace gl EXT_texture_filter_anisotropic, EXT_texture_format_BGRA8888, EXT_texture_rg, + EXT_texture_snorm, EXT_texture_sRGB, EXT_texture_storage, EXT_texture_swizzle, @@ -647,6 +666,7 @@ namespace bgfx { namespace gl { "EXT_texture_filter_anisotropic", false, true }, { "EXT_texture_format_BGRA8888", false, true }, { "EXT_texture_rg", false, true }, // GLES2 extension. + { "EXT_texture_snorm", BGFX_CONFIG_RENDERER_OPENGL >= 30, true }, { "EXT_texture_sRGB", false, true }, { "EXT_texture_storage", false, true }, { "EXT_texture_swizzle", false, true }, diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index fb4eaa83..b4a72068 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -265,19 +265,25 @@ namespace bgfx { namespace mtl { MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // Unknown { MTLPixelFormatInvalid, MTLPixelFormatInvalid }, // R1 { MTLPixelFormatR8Unorm, MTLPixelFormatR8Unorm_sRGB }, // R8 + { MTLPixelFormatR8Snorm, MTLPixelFormatInvalid }, // R8S { MTLPixelFormatR16Uint, MTLPixelFormatInvalid }, // R16 { MTLPixelFormatR16Float, MTLPixelFormatInvalid }, // R16F + { MTLPixelFormatR16Snorm, MTLPixelFormatInvalid }, // R16S { MTLPixelFormatR32Uint, MTLPixelFormatInvalid }, // R32 { MTLPixelFormatR32Float, MTLPixelFormatInvalid }, // R32F { MTLPixelFormatRG8Unorm, MTLPixelFormatRG8Unorm_sRGB }, // RG8 + { MTLPixelFormatRG8Snorm, MTLPixelFormatInvalid }, // RG8S { MTLPixelFormatRG16Unorm, MTLPixelFormatInvalid }, // RG16 { MTLPixelFormatRG16Float, MTLPixelFormatInvalid }, // RG16F + { MTLPixelFormatRG16Snorm, MTLPixelFormatInvalid }, // RG16S { MTLPixelFormatRG32Uint, MTLPixelFormatInvalid }, // RG32 { MTLPixelFormatRG32Float, MTLPixelFormatInvalid }, // RG32F { MTLPixelFormatBGRA8Unorm, MTLPixelFormatBGRA8Unorm_sRGB }, // BGRA8 { MTLPixelFormatRGBA8Unorm, MTLPixelFormatRGBA8Unorm_sRGB }, // RGBA8 + { MTLPixelFormatRGBA8Snorm, MTLPixelFormatInvalid }, // RGBA8S { MTLPixelFormatRGBA16Unorm, MTLPixelFormatInvalid }, // RGBA16 { MTLPixelFormatRGBA16Float, MTLPixelFormatInvalid }, // RGBA16F + { MTLPixelFormatRGBA16Snorm, MTLPixelFormatInvalid }, // RGBA16S { MTLPixelFormatRGBA32Uint, MTLPixelFormatInvalid }, // RGBA32 { MTLPixelFormatRGBA32Float, MTLPixelFormatInvalid }, // RGBA32F { MTLPixelFormatB5G6R5Unorm, MTLPixelFormatInvalid }, // R5G6B5