mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
Add BGR versions of 16 bit formats (#2897)
* pixelformats: Add BGRA4 * pixelformats: Add BGR5A1 * pixelformats: Add B5G6R5 * make idl
This commit is contained in:
@@ -1746,8 +1746,11 @@ public static class bgfx
|
||||
RGBA32I,
|
||||
RGBA32U,
|
||||
RGBA32F,
|
||||
B5G6R5,
|
||||
R5G6B5,
|
||||
BGRA4,
|
||||
RGBA4,
|
||||
BGR5A1,
|
||||
RGB5A1,
|
||||
RGB10A2,
|
||||
RG11B10F,
|
||||
@@ -2037,7 +2040,7 @@ public static class bgfx
|
||||
public uint8 numGPUs;
|
||||
public GPU[4] gpu;
|
||||
public Limits limits;
|
||||
public uint16[85] formats;
|
||||
public uint16[88] formats;
|
||||
}
|
||||
|
||||
[CRepr]
|
||||
|
||||
@@ -1739,8 +1739,11 @@ public static partial class bgfx
|
||||
RGBA32I,
|
||||
RGBA32U,
|
||||
RGBA32F,
|
||||
B5G6R5,
|
||||
R5G6B5,
|
||||
BGRA4,
|
||||
RGBA4,
|
||||
BGR5A1,
|
||||
RGB5A1,
|
||||
RGB10A2,
|
||||
RG11B10F,
|
||||
@@ -2019,7 +2022,7 @@ public static partial class bgfx
|
||||
public byte numGPUs;
|
||||
public fixed uint gpu[4];
|
||||
public Limits limits;
|
||||
public fixed ushort formats[85];
|
||||
public fixed ushort formats[88];
|
||||
}
|
||||
|
||||
public unsafe struct InternalData
|
||||
|
||||
@@ -619,8 +619,11 @@ enum bgfx_texture_format_t
|
||||
BGFX_TEXTURE_FORMAT_RGBA32I,
|
||||
BGFX_TEXTURE_FORMAT_RGBA32U,
|
||||
BGFX_TEXTURE_FORMAT_RGBA32F,
|
||||
BGFX_TEXTURE_FORMAT_B5G6R5,
|
||||
BGFX_TEXTURE_FORMAT_R5G6B5,
|
||||
BGFX_TEXTURE_FORMAT_BGRA4,
|
||||
BGFX_TEXTURE_FORMAT_RGBA4,
|
||||
BGFX_TEXTURE_FORMAT_BGR5A1,
|
||||
BGFX_TEXTURE_FORMAT_RGB5A1,
|
||||
BGFX_TEXTURE_FORMAT_RGB10A2,
|
||||
BGFX_TEXTURE_FORMAT_RG11B10F,
|
||||
|
||||
@@ -1082,8 +1082,11 @@ pub const TextureFormat = enum(c_int) {
|
||||
RGBA32I,
|
||||
RGBA32U,
|
||||
RGBA32F,
|
||||
B5G6R5,
|
||||
R5G6B5,
|
||||
BGRA4,
|
||||
RGBA4,
|
||||
BGR5A1,
|
||||
RGB5A1,
|
||||
RGB10A2,
|
||||
RG11B10F,
|
||||
@@ -1285,7 +1288,7 @@ pub const Caps = extern struct {
|
||||
numGPUs: u8,
|
||||
gpu: [4]GPU,
|
||||
limits: Limits,
|
||||
formats: [85]u16,
|
||||
formats: [88]u16,
|
||||
};
|
||||
|
||||
pub const InternalData = extern struct {
|
||||
|
||||
@@ -232,8 +232,11 @@ namespace bgfx
|
||||
RGBA32I,
|
||||
RGBA32U,
|
||||
RGBA32F,
|
||||
B5G6R5,
|
||||
R5G6B5,
|
||||
BGRA4,
|
||||
RGBA4,
|
||||
BGR5A1,
|
||||
RGB5A1,
|
||||
RGB10A2,
|
||||
RG11B10F,
|
||||
|
||||
@@ -244,20 +244,23 @@ typedef enum bgfx_texture_format
|
||||
BGFX_TEXTURE_FORMAT_RGBA32I, /** (68) */
|
||||
BGFX_TEXTURE_FORMAT_RGBA32U, /** (69) */
|
||||
BGFX_TEXTURE_FORMAT_RGBA32F, /** (70) */
|
||||
BGFX_TEXTURE_FORMAT_R5G6B5, /** (71) */
|
||||
BGFX_TEXTURE_FORMAT_RGBA4, /** (72) */
|
||||
BGFX_TEXTURE_FORMAT_RGB5A1, /** (73) */
|
||||
BGFX_TEXTURE_FORMAT_RGB10A2, /** (74) */
|
||||
BGFX_TEXTURE_FORMAT_RG11B10F, /** (75) */
|
||||
BGFX_TEXTURE_FORMAT_UNKNOWNDEPTH, /** (76) Depth formats below. */
|
||||
BGFX_TEXTURE_FORMAT_D16, /** (77) */
|
||||
BGFX_TEXTURE_FORMAT_D24, /** (78) */
|
||||
BGFX_TEXTURE_FORMAT_D24S8, /** (79) */
|
||||
BGFX_TEXTURE_FORMAT_D32, /** (80) */
|
||||
BGFX_TEXTURE_FORMAT_D16F, /** (81) */
|
||||
BGFX_TEXTURE_FORMAT_D24F, /** (82) */
|
||||
BGFX_TEXTURE_FORMAT_D32F, /** (83) */
|
||||
BGFX_TEXTURE_FORMAT_D0S8, /** (84) */
|
||||
BGFX_TEXTURE_FORMAT_B5G6R5, /** (71) */
|
||||
BGFX_TEXTURE_FORMAT_R5G6B5, /** (72) */
|
||||
BGFX_TEXTURE_FORMAT_BGRA4, /** (73) */
|
||||
BGFX_TEXTURE_FORMAT_RGBA4, /** (74) */
|
||||
BGFX_TEXTURE_FORMAT_BGR5A1, /** (75) */
|
||||
BGFX_TEXTURE_FORMAT_RGB5A1, /** (76) */
|
||||
BGFX_TEXTURE_FORMAT_RGB10A2, /** (77) */
|
||||
BGFX_TEXTURE_FORMAT_RG11B10F, /** (78) */
|
||||
BGFX_TEXTURE_FORMAT_UNKNOWNDEPTH, /** (79) Depth formats below. */
|
||||
BGFX_TEXTURE_FORMAT_D16, /** (80) */
|
||||
BGFX_TEXTURE_FORMAT_D24, /** (81) */
|
||||
BGFX_TEXTURE_FORMAT_D24S8, /** (82) */
|
||||
BGFX_TEXTURE_FORMAT_D32, /** (83) */
|
||||
BGFX_TEXTURE_FORMAT_D16F, /** (84) */
|
||||
BGFX_TEXTURE_FORMAT_D24F, /** (85) */
|
||||
BGFX_TEXTURE_FORMAT_D32F, /** (86) */
|
||||
BGFX_TEXTURE_FORMAT_D0S8, /** (87) */
|
||||
|
||||
BGFX_TEXTURE_FORMAT_COUNT
|
||||
|
||||
|
||||
@@ -593,8 +593,11 @@ enum.TextureFormat { comment = "Texture formats:" }
|
||||
.RGBA32I
|
||||
.RGBA32U
|
||||
.RGBA32F
|
||||
.B5G6R5
|
||||
.R5G6B5
|
||||
.BGRA4
|
||||
.RGBA4
|
||||
.BGR5A1
|
||||
.RGB5A1
|
||||
.RGB10A2
|
||||
.RG11B10F
|
||||
|
||||
@@ -5633,8 +5633,11 @@ BGFX_TEXTURE_FORMAT_BIMG(RGBA16S);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(RGBA32I);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(RGBA32U);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(RGBA32F);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(B5G6R5);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(R5G6B5);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(BGRA4);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(RGBA4);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(BGR5A1);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(RGB5A1);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(RGB10A2);
|
||||
BGFX_TEXTURE_FORMAT_BIMG(RG11B10F);
|
||||
|
||||
@@ -274,8 +274,11 @@ namespace bgfx { namespace d3d11
|
||||
{ DXGI_FORMAT_R32G32B32A32_SINT, DXGI_FORMAT_R32G32B32A32_SINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA32I
|
||||
{ DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA32U
|
||||
{ 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 }, // B5G6R5
|
||||
{ DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // R5G6B5
|
||||
{ DXGI_FORMAT_B4G4R4A4_UNORM, DXGI_FORMAT_B4G4R4A4_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // BGRA4
|
||||
{ DXGI_FORMAT_B4G4R4A4_UNORM, DXGI_FORMAT_B4G4R4A4_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGBA4
|
||||
{ DXGI_FORMAT_B5G5R5A1_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // BGR5A1
|
||||
{ DXGI_FORMAT_B5G5R5A1_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGB5A1
|
||||
{ DXGI_FORMAT_R10G10B10A2_UNORM, DXGI_FORMAT_R10G10B10A2_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RGB10A2
|
||||
{ DXGI_FORMAT_R11G11B10_FLOAT, DXGI_FORMAT_R11G11B10_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // RG11B10F
|
||||
|
||||
@@ -264,8 +264,11 @@ namespace bgfx { namespace d3d12
|
||||
{ DXGI_FORMAT_R32G32B32A32_SINT, DXGI_FORMAT_R32G32B32A32_SINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // RGBA32I
|
||||
{ DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_R32G32B32A32_UINT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // RGBA32U
|
||||
{ DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // RGBA32F
|
||||
{ DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // B5G6R5
|
||||
{ DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING($B, $G, $R, $1) }, // R5G6B5
|
||||
{ DXGI_FORMAT_B4G4R4A4_UNORM, DXGI_FORMAT_B4G4R4A4_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // BGRA4
|
||||
{ DXGI_FORMAT_B4G4R4A4_UNORM, DXGI_FORMAT_B4G4R4A4_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING($B, $G, $R, $A) }, // RGBA4
|
||||
{ DXGI_FORMAT_B5G5R5A1_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // BGR5A1
|
||||
{ DXGI_FORMAT_B5G5R5A1_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING($B, $G, $R, $A) }, // RGB5A1
|
||||
{ DXGI_FORMAT_R10G10B10A2_UNORM, DXGI_FORMAT_R10G10B10A2_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // RGB10A2
|
||||
{ DXGI_FORMAT_R11G11B10_FLOAT, DXGI_FORMAT_R11G11B10_FLOAT, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // RG11B10F
|
||||
|
||||
@@ -234,8 +234,11 @@ namespace bgfx { namespace d3d9
|
||||
{ D3DFMT_UNKNOWN }, // RGBA32I
|
||||
{ D3DFMT_UNKNOWN }, // RGBA32U
|
||||
{ D3DFMT_A32B32G32R32F }, // RGBA32F
|
||||
{ D3DFMT_R5G6B5 }, // B5G6R5
|
||||
{ D3DFMT_R5G6B5 }, // R5G6B5
|
||||
{ D3DFMT_A4R4G4B4 }, // BGRA4
|
||||
{ D3DFMT_A4R4G4B4 }, // RGBA4
|
||||
{ D3DFMT_A1R5G5B5 }, // BGR5A1
|
||||
{ D3DFMT_A1R5G5B5 }, // RGB5A1
|
||||
{ D3DFMT_A2B10G10R10 }, // RGB10A2
|
||||
{ D3DFMT_UNKNOWN }, // RG11B10F
|
||||
|
||||
@@ -287,8 +287,11 @@ namespace bgfx { namespace gl
|
||||
{ GL_RGBA32I, GL_ZERO, RGBA_INTEGER, GL_RGBA_INTEGER, GL_INT, false, { $_, $_, $_, $_ } }, // RGBA32I
|
||||
{ GL_RGBA32UI, GL_ZERO, RGBA_INTEGER, GL_RGBA_INTEGER, GL_UNSIGNED_INT, false, { $_, $_, $_, $_ } }, // RGBA32U
|
||||
{ GL_RGBA32F, GL_ZERO, GL_RGBA, GL_RGBA, GL_FLOAT, false, { $_, $_, $_, $_ } }, // RGBA32F
|
||||
{ GL_RGB565, GL_ZERO, GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, false, { $_, $_, $_, $_ } }, // B5G6R5
|
||||
{ GL_RGB565, GL_ZERO, GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, false, { $_, $_, $_, $_ } }, // R5G6B5
|
||||
{ GL_RGBA4, GL_ZERO, GL_BGRA, GL_BGRA, GL_UNSIGNED_SHORT_4_4_4_4_REV, false, { $_, $_, $_, $_ } }, // BGRA4
|
||||
{ GL_RGBA4, GL_ZERO, GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4_REV, false, { $_, $_, $_, $_ } }, // RGBA4
|
||||
{ GL_RGB5_A1, GL_ZERO, GL_BGRA, GL_BGRA, GL_UNSIGNED_SHORT_1_5_5_5_REV, false, { $_, $_, $_, $_ } }, // BGR5A1
|
||||
{ GL_RGB5_A1, GL_ZERO, GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_1_5_5_5_REV, false, { $_, $_, $_, $_ } }, // RGB5A1
|
||||
{ GL_RGB10_A2, GL_ZERO, GL_RGBA, GL_RGBA, GL_UNSIGNED_INT_2_10_10_10_REV, false, { $_, $_, $_, $_ } }, // RGB10A2
|
||||
{ GL_R11F_G11F_B10F, GL_ZERO, GL_RGB, GL_RGB, GL_UNSIGNED_INT_10F_11F_11F_REV, false, { $_, $_, $_, $_ } }, // RG11B10F
|
||||
@@ -386,8 +389,11 @@ namespace bgfx { namespace gl
|
||||
GL_RGBA32I, // RGBA32I
|
||||
GL_RGBA32UI, // RGBA32U
|
||||
GL_RGBA32F, // RGBA32F
|
||||
GL_RGB565, // B5G6R5
|
||||
GL_RGB565, // R5G6B5
|
||||
GL_RGBA4, // BGRA4
|
||||
GL_RGBA4, // RGBA4
|
||||
GL_RGB5_A1, // BGR5A1
|
||||
GL_RGB5_A1, // RGB5A1
|
||||
GL_RGB10_A2, // RGB10A2
|
||||
GL_R11F_G11F_B10F, // RG11B10F
|
||||
@@ -476,8 +482,11 @@ namespace bgfx { namespace gl
|
||||
GL_RGBA32I, // RGBA32I
|
||||
GL_RGBA32UI, // RGBA32U
|
||||
GL_RGBA32F, // RGBA32F
|
||||
GL_RGB565, // B5G6R5
|
||||
GL_RGB565, // R5G6B5
|
||||
GL_RGBA4, // BGRA4
|
||||
GL_RGBA4, // RGBA4
|
||||
GL_RGB5_A1, // BGR5A1
|
||||
GL_RGB5_A1, // RGB5A1
|
||||
GL_RGB10_A2, // RGB10A2
|
||||
GL_R11F_G11F_B10F, // RG11B10F
|
||||
@@ -1648,8 +1657,11 @@ namespace bgfx { namespace gl
|
||||
{
|
||||
case TextureFormat::A8:
|
||||
case TextureFormat::R8: // Luminance
|
||||
case TextureFormat::B5G6R5:
|
||||
case TextureFormat::R5G6B5:
|
||||
case TextureFormat::BGRA4:
|
||||
case TextureFormat::RGBA4:
|
||||
case TextureFormat::BGR5A1:
|
||||
case TextureFormat::RGB5A1:
|
||||
// GLES2 formats without sRGB.
|
||||
return !_srgb;
|
||||
@@ -1900,8 +1912,11 @@ namespace bgfx { namespace gl
|
||||
switch(_format)
|
||||
{
|
||||
// GLES2 textures
|
||||
case TextureFormat::B5G6R5:
|
||||
case TextureFormat::R5G6B5:
|
||||
case TextureFormat::BGRA4:
|
||||
case TextureFormat::RGBA4:
|
||||
case TextureFormat::BGR5A1:
|
||||
case TextureFormat::RGB5A1:
|
||||
case TextureFormat::D16:
|
||||
return !_srgb;
|
||||
@@ -2514,8 +2529,11 @@ namespace bgfx { namespace gl
|
||||
// internalFormat and format must match:
|
||||
// https://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexImage2D.xml
|
||||
setTextureFormat(TextureFormat::RGBA8, GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE);
|
||||
setTextureFormat(TextureFormat::B5G6R5, GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5_REV);
|
||||
setTextureFormat(TextureFormat::R5G6B5, GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5_REV);
|
||||
setTextureFormat(TextureFormat::BGRA4, GL_BGRA, GL_BGRA, GL_UNSIGNED_SHORT_4_4_4_4_REV);
|
||||
setTextureFormat(TextureFormat::RGBA4, GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4_REV);
|
||||
setTextureFormat(TextureFormat::BGR5A1, GL_BGRA, GL_BGRA, GL_UNSIGNED_SHORT_1_5_5_5_REV);
|
||||
setTextureFormat(TextureFormat::RGB5A1, GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_1_5_5_5_REV);
|
||||
|
||||
if (s_extension[Extension::EXT_sRGB].m_supported)
|
||||
@@ -2629,8 +2647,11 @@ namespace bgfx { namespace gl
|
||||
if (BX_ENABLED(BX_PLATFORM_EMSCRIPTEN) )
|
||||
{
|
||||
// OpenGL ES does not have reversed BGRA4 and BGR5A1 support.
|
||||
setTextureFormat(TextureFormat::BGRA4, GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4);
|
||||
setTextureFormat(TextureFormat::RGBA4, GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4);
|
||||
setTextureFormat(TextureFormat::BGR5A1, GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1);
|
||||
setTextureFormat(TextureFormat::RGB5A1, GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1);
|
||||
setTextureFormat(TextureFormat::B5G6R5, GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5);
|
||||
setTextureFormat(TextureFormat::R5G6B5, GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5);
|
||||
|
||||
if (!m_gles3)
|
||||
|
||||
@@ -304,8 +304,11 @@ namespace bgfx { namespace mtl
|
||||
{ MTLPixelFormatRGBA32Sint, MTLPixelFormatInvalid, MTLReadWriteTextureTier2, { $R, $G, $B, $A }, true }, // RGBA32I
|
||||
{ MTLPixelFormatRGBA32Uint, MTLPixelFormatInvalid, MTLReadWriteTextureTier2, { $R, $G, $B, $A }, true }, // RGBA32U
|
||||
{ MTLPixelFormatRGBA32Float, MTLPixelFormatInvalid, MTLReadWriteTextureTier2, { $R, $G, $B, $A }, true }, // RGBA32F
|
||||
{ MTLPixelFormatB5G6R5Unorm, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, true }, // B5G6R5
|
||||
{ MTLPixelFormatB5G6R5Unorm, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $B, $G, $R, $A }, true }, // R5G6B5
|
||||
{ MTLPixelFormatABGR4Unorm, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $G, $B, $A, $R }, true }, // BGRA4
|
||||
{ MTLPixelFormatABGR4Unorm, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $A, $B, $G, $R }, true }, // RGBA4
|
||||
{ MTLPixelFormatBGR5A1Unorm, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, true }, // BGR5A1
|
||||
{ MTLPixelFormatBGR5A1Unorm, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $B, $G, $R, $A }, true }, // RGB5A1
|
||||
{ MTLPixelFormatRGB10A2Unorm, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, true }, // RGB10A2
|
||||
{ MTLPixelFormatRG11B10Float, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, true }, // RG11B10F
|
||||
|
||||
@@ -238,8 +238,11 @@ VK_IMPORT_DEVICE
|
||||
{ VK_FORMAT_R32G32B32A32_SINT, VK_FORMAT_R32G32B32A32_SINT, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // RGBA32I
|
||||
{ VK_FORMAT_R32G32B32A32_UINT, VK_FORMAT_R32G32B32A32_UINT, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // RGBA32U
|
||||
{ VK_FORMAT_R32G32B32A32_SFLOAT, VK_FORMAT_R32G32B32A32_SFLOAT, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // RGBA32F
|
||||
{ VK_FORMAT_R5G6B5_UNORM_PACK16, VK_FORMAT_R5G6B5_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // B5G6R5
|
||||
{ VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // R5G6B5
|
||||
{ VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $A, $R, $G, $B } }, // RGBA4
|
||||
{ VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $G, $R, $A, $B } }, // BGRA4
|
||||
{ VK_FORMAT_R4G4B4A4_UNORM_PACK16, VK_FORMAT_R4G4B4A4_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $A, $B, $G, $R } }, // RGBA4
|
||||
{ VK_FORMAT_A1R5G5B5_UNORM_PACK16, VK_FORMAT_A1R5G5B5_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // BGR5A1
|
||||
{ VK_FORMAT_A1R5G5B5_UNORM_PACK16, VK_FORMAT_A1R5G5B5_UNORM_PACK16, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $B, $G, $R, $A } }, // RGB5A1
|
||||
{ VK_FORMAT_A2R10G10B10_UNORM_PACK32, VK_FORMAT_A2R10G10B10_UNORM_PACK32, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $B, $G, $R, $A } }, // RGB10A2
|
||||
{ VK_FORMAT_B10G11R11_UFLOAT_PACK32, VK_FORMAT_B10G11R11_UFLOAT_PACK32, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // RG11B10F
|
||||
|
||||
@@ -356,8 +356,11 @@ namespace bgfx { namespace webgpu
|
||||
{ wgpu::TextureFormat::RGBA32Sint, wgpu::TextureFormat::Undefined }, // RGBA32I
|
||||
{ wgpu::TextureFormat::RGBA32Uint, wgpu::TextureFormat::Undefined }, // RGBA32U
|
||||
{ wgpu::TextureFormat::RGBA32Float, wgpu::TextureFormat::Undefined }, // RGBA32F
|
||||
{ wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // B5G6R5
|
||||
{ wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // R5G6B5
|
||||
{ wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // BGRA4
|
||||
{ wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // RGBA4
|
||||
{ wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // BGR5A1
|
||||
{ wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // RGB5A1
|
||||
{ wgpu::TextureFormat::RGB10A2Unorm, wgpu::TextureFormat::Undefined }, // RGB10A2
|
||||
{ wgpu::TextureFormat::RG11B10Ufloat, wgpu::TextureFormat::Undefined }, // RG11B10F
|
||||
@@ -658,8 +661,11 @@ namespace bgfx { namespace webgpu
|
||||
g_caps.formats[TextureFormat::PTC14 ] =
|
||||
g_caps.formats[TextureFormat::PTC12A] =
|
||||
g_caps.formats[TextureFormat::PTC14A] =
|
||||
g_caps.formats[TextureFormat::B5G6R5] =
|
||||
g_caps.formats[TextureFormat::R5G6B5] =
|
||||
g_caps.formats[TextureFormat::BGRA4 ] =
|
||||
g_caps.formats[TextureFormat::RGBA4 ] =
|
||||
g_caps.formats[TextureFormat::BGR5A1] =
|
||||
g_caps.formats[TextureFormat::RGB5A1] = BGFX_CAPS_FORMAT_TEXTURE_NONE;
|
||||
|
||||
g_caps.formats[TextureFormat::RGB9E5F] &= ~(BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER | BGFX_CAPS_FORMAT_TEXTURE_FRAMEBUFFER_MSAA);
|
||||
|
||||
Reference in New Issue
Block a user