diff --git a/bindings/bf/bgfx.bf b/bindings/bf/bgfx.bf index 59e94a4ff3..71d5e2556d 100644 --- a/bindings/bf/bgfx.bf +++ b/bindings/bf/bgfx.bf @@ -1678,11 +1678,21 @@ public static class bgfx /// ASTC4x4, + /// + /// ASTC 5x4 6.40 BPP + /// + ASTC5x4, + /// /// ASTC 5x5 5.12 BPP /// ASTC5x5, + /// + /// ASTC 6x5 4.27 BPP + /// + ASTC6x5, + /// /// ASTC 6x6 3.56 BPP /// @@ -1698,11 +1708,41 @@ public static class bgfx /// ASTC8x6, + /// + /// ASTC 8x8 2.00 BPP + /// + ASTC8x8, + /// /// ASTC 10x5 2.56 BPP /// ASTC10x5, + /// + /// ASTC 10x6 2.13 BPP + /// + ASTC10x6, + + /// + /// ASTC 10x8 1.60 BPP + /// + ASTC10x8, + + /// + /// ASTC 10x10 1.28 BPP + /// + ASTC10x10, + + /// + /// ASTC 12x10 1.07 BPP + /// + ASTC12x10, + + /// + /// ASTC 12x12 0.89 BPP + /// + ASTC12x12, + /// /// Compressed formats above. /// @@ -2045,7 +2085,7 @@ public static class bgfx public uint8 numGPUs; public GPU[4] gpu; public Limits limits; - public uint16[88] formats; + public uint16[96] formats; } [CRepr] diff --git a/bindings/cs/bgfx.cs b/bindings/cs/bgfx.cs index 8d3360cb16..24a2a17e11 100644 --- a/bindings/cs/bgfx.cs +++ b/bindings/cs/bgfx.cs @@ -1671,11 +1671,21 @@ public enum TextureFormat /// ASTC4x4, + /// + /// ASTC 5x4 6.40 BPP + /// + ASTC5x4, + /// /// ASTC 5x5 5.12 BPP /// ASTC5x5, + /// + /// ASTC 6x5 4.27 BPP + /// + ASTC6x5, + /// /// ASTC 6x6 3.56 BPP /// @@ -1691,11 +1701,41 @@ public enum TextureFormat /// ASTC8x6, + /// + /// ASTC 8x8 2.00 BPP + /// + ASTC8x8, + /// /// ASTC 10x5 2.56 BPP /// ASTC10x5, + /// + /// ASTC 10x6 2.13 BPP + /// + ASTC10x6, + + /// + /// ASTC 10x8 1.60 BPP + /// + ASTC10x8, + + /// + /// ASTC 10x10 1.28 BPP + /// + ASTC10x10, + + /// + /// ASTC 12x10 1.07 BPP + /// + ASTC12x10, + + /// + /// ASTC 12x12 0.89 BPP + /// + ASTC12x12, + /// /// Compressed formats above. /// @@ -2027,7 +2067,7 @@ public unsafe struct Limits public byte numGPUs; public fixed uint gpu[4]; public Limits limits; - public fixed ushort formats[88]; + public fixed ushort formats[96]; } public unsafe struct InternalData diff --git a/bindings/d/types.d b/bindings/d/types.d index e812ffa691..ae44638f4c 100644 --- a/bindings/d/types.d +++ b/bindings/d/types.d @@ -18,7 +18,7 @@ enum expandEnum(EnumType, string fqnEnumType = EnumType.stringof) = (){ extern(C) @nogc nothrow: -enum uint BGFX_API_VERSION = 117; +enum uint BGFX_API_VERSION = 118; alias bgfx_view_id_t = ushort; @@ -570,11 +570,19 @@ enum bgfx_texture_format_t BGFX_TEXTURE_FORMAT_ATCE, /// ATCE RGBA 8 BPP explicit alpha BGFX_TEXTURE_FORMAT_ATCI, /// ATCI RGBA 8 BPP interpolated alpha BGFX_TEXTURE_FORMAT_ASTC4X4, /// ASTC 4x4 8.0 BPP + BGFX_TEXTURE_FORMAT_ASTC5X4, /// ASTC 5x4 6.40 BPP BGFX_TEXTURE_FORMAT_ASTC5X5, /// ASTC 5x5 5.12 BPP + BGFX_TEXTURE_FORMAT_ASTC6X5, /// ASTC 6x5 4.27 BPP BGFX_TEXTURE_FORMAT_ASTC6X6, /// ASTC 6x6 3.56 BPP BGFX_TEXTURE_FORMAT_ASTC8X5, /// ASTC 8x5 3.20 BPP BGFX_TEXTURE_FORMAT_ASTC8X6, /// ASTC 8x6 2.67 BPP + BGFX_TEXTURE_FORMAT_ASTC8X8, /// ASTC 8x8 2.00 BPP BGFX_TEXTURE_FORMAT_ASTC10X5, /// ASTC 10x5 2.56 BPP + BGFX_TEXTURE_FORMAT_ASTC10X6, /// ASTC 10x6 2.13 BPP + BGFX_TEXTURE_FORMAT_ASTC10X8, /// ASTC 10x8 1.60 BPP + BGFX_TEXTURE_FORMAT_ASTC10X10, /// ASTC 10x10 1.28 BPP + BGFX_TEXTURE_FORMAT_ASTC12X10, /// ASTC 12x10 1.07 BPP + BGFX_TEXTURE_FORMAT_ASTC12X12, /// ASTC 12x12 0.89 BPP BGFX_TEXTURE_FORMAT_UNKNOWN, /// Compressed formats above. BGFX_TEXTURE_FORMAT_R1, BGFX_TEXTURE_FORMAT_A8, diff --git a/bindings/zig/bgfx.zig b/bindings/zig/bgfx.zig index 6ad5f7e107..612647d778 100644 --- a/bindings/zig/bgfx.zig +++ b/bindings/zig/bgfx.zig @@ -1024,9 +1024,15 @@ pub const TextureFormat = enum(c_int) { /// ASTC 4x4 8.0 BPP ASTC4x4, + /// ASTC 5x4 6.40 BPP + ASTC5x4, + /// ASTC 5x5 5.12 BPP ASTC5x5, + /// ASTC 6x5 4.27 BPP + ASTC6x5, + /// ASTC 6x6 3.56 BPP ASTC6x6, @@ -1036,9 +1042,27 @@ pub const TextureFormat = enum(c_int) { /// ASTC 8x6 2.67 BPP ASTC8x6, + /// ASTC 8x8 2.00 BPP + ASTC8x8, + /// ASTC 10x5 2.56 BPP ASTC10x5, + /// ASTC 10x6 2.13 BPP + ASTC10x6, + + /// ASTC 10x8 1.60 BPP + ASTC10x8, + + /// ASTC 10x10 1.28 BPP + ASTC10x10, + + /// ASTC 12x10 1.07 BPP + ASTC12x10, + + /// ASTC 12x12 0.89 BPP + ASTC12x12, + /// Compressed formats above. Unknown, R1, @@ -1291,7 +1315,7 @@ pub const Caps = extern struct { numGPUs: u8, gpu: [4]GPU, limits: Limits, - formats: [88]u16, + formats: [96]u16, }; pub const InternalData = extern struct { diff --git a/examples/47-pixelformats/pixelformats.cpp b/examples/47-pixelformats/pixelformats.cpp index 8cfdcc598c..7a78f36723 100644 --- a/examples/47-pixelformats/pixelformats.cpp +++ b/examples/47-pixelformats/pixelformats.cpp @@ -470,27 +470,35 @@ class ExamplePixelFormats : public entry::AppI m_textureSets.push_back(generateTextureSetFromFile("textures/pf_uv_filtering_test.dds") ); const char* textureCompressionSetFiles[] = { - "textures/texture_compression_astc_10x5.dds" - , "textures/texture_compression_astc_4x4.dds" - , "textures/texture_compression_astc_5x5.dds" - , "textures/texture_compression_astc_6x6.dds" - , "textures/texture_compression_astc_8x5.dds" - , "textures/texture_compression_astc_8x6.dds" - , "textures/texture_compression_atc.dds" - , "textures/texture_compression_atce.dds" - , "textures/texture_compression_atci.dds" - , "textures/texture_compression_bc1.ktx" - , "textures/texture_compression_bc2.ktx" - , "textures/texture_compression_bc3.ktx" - , "textures/texture_compression_bc7.ktx" - , "textures/texture_compression_etc1.ktx" - , "textures/texture_compression_etc2.ktx" - , "textures/texture_compression_ptc12.pvr" - , "textures/texture_compression_ptc14.pvr" - , "textures/texture_compression_ptc22.pvr" - , "textures/texture_compression_ptc24.pvr" - , "textures/texture_compression_rgba8.dds" - , nullptr + "textures/texture_compression_astc_4x4.dds", + "textures/texture_compression_astc_5x4.dds", + "textures/texture_compression_astc_5x5.dds", + "textures/texture_compression_astc_6x5.dds", + "textures/texture_compression_astc_6x6.dds", + "textures/texture_compression_astc_8x5.dds", + "textures/texture_compression_astc_8x6.dds", + "textures/texture_compression_astc_8x8.dds", + "textures/texture_compression_astc_10x5.dds", + "textures/texture_compression_astc_10x6.dds", + "textures/texture_compression_astc_10x8.dds", + "textures/texture_compression_astc_10x10.dds", + "textures/texture_compression_astc_12x10.dds", + "textures/texture_compression_astc_12x12.dds", + "textures/texture_compression_atc.dds", + "textures/texture_compression_atce.dds", + "textures/texture_compression_atci.dds", + "textures/texture_compression_bc1.ktx", + "textures/texture_compression_bc2.ktx", + "textures/texture_compression_bc3.ktx", + "textures/texture_compression_bc7.ktx", + "textures/texture_compression_etc1.ktx", + "textures/texture_compression_etc2.ktx", + "textures/texture_compression_ptc12.pvr", + "textures/texture_compression_ptc14.pvr", + "textures/texture_compression_ptc22.pvr", + "textures/texture_compression_ptc24.pvr", + "textures/texture_compression_rgba8.dds", + nullptr }; m_textureSets.push_back(generateTextureSetFromFileSet("texture_compression_* set", textureCompressionSetFiles)); diff --git a/examples/assets/textures/textures.ninja b/examples/assets/textures/textures.ninja index 835da68704..22fd3e32ba 100644 --- a/examples/assets/textures/textures.ninja +++ b/examples/assets/textures/textures.ninja @@ -1,17 +1,25 @@ textures = $pwd/../../runtime/textures -build $textures/texture_compression_bc1.ktx: texturec_bc1 $pwd/texture-compression-test.png -build $textures/texture_compression_bc2.ktx: texturec_bc2 $pwd/texture-compression-test.png -build $textures/texture_compression_bc3.ktx: texturec_bc3 $pwd/texture-compression-test.png -build $textures/texture_compression_bc7.ktx: texturec_bc7 $pwd/texture-compression-test.png -build $textures/texture_compression_astc_4x4.dds: texturec_astc4x4 $pwd/texture-compression-test.png -build $textures/texture_compression_astc_5x5.dds: texturec_astc5x5 $pwd/texture-compression-test.png -build $textures/texture_compression_astc_6x6.dds: texturec_astc6x6 $pwd/texture-compression-test.png -build $textures/texture_compression_astc_8x5.dds: texturec_astc8x5 $pwd/texture-compression-test.png -build $textures/texture_compression_astc_8x6.dds: texturec_astc8x6 $pwd/texture-compression-test.png -build $textures/texture_compression_astc_10x5.dds: texturec_astc10x5 $pwd/texture-compression-test.png -build $textures/texture_compression_etc1.ktx: texturec_etc1 $pwd/texture-compression-test.png -build $textures/texture_compression_etc2.ktx: texturec_etc2 $pwd/texture-compression-test.png +build $textures/texture_compression_bc1.ktx: texturec_bc1 $pwd/texture-compression-test.png +build $textures/texture_compression_bc2.ktx: texturec_bc2 $pwd/texture-compression-test.png +build $textures/texture_compression_bc3.ktx: texturec_bc3 $pwd/texture-compression-test.png +build $textures/texture_compression_bc7.ktx: texturec_bc7 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_4x4.dds: texturec_astc4x4 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_5x4.dds: texturec_astc5x4 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_5x5.dds: texturec_astc5x5 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_6x5.dds: texturec_astc6x5 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_6x6.dds: texturec_astc6x6 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_8x5.dds: texturec_astc8x5 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_8x6.dds: texturec_astc8x6 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_8x8.dds: texturec_astc8x8 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_10x5.dds: texturec_astc10x5 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_10x6.dds: texturec_astc10x6 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_10x8.dds: texturec_astc10x8 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_10x10.dds: texturec_astc10x10 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_12x10.dds: texturec_astc12x10 $pwd/texture-compression-test.png +build $textures/texture_compression_astc_12x12.dds: texturec_astc12x12 $pwd/texture-compression-test.png +build $textures/texture_compression_etc1.ktx: texturec_etc1 $pwd/texture-compression-test.png +build $textures/texture_compression_etc2.ktx: texturec_etc2 $pwd/texture-compression-test.png build $textures/parallax-d.ktx: texturec_diffuse $pwd/parallax-d.png build $textures/parallax-n.ktx: texturec_normal $pwd/parallax-n.png diff --git a/examples/runtime/textures/texture_compression_astc_10x10.dds b/examples/runtime/textures/texture_compression_astc_10x10.dds new file mode 100644 index 0000000000..8ac934e5e9 Binary files /dev/null and b/examples/runtime/textures/texture_compression_astc_10x10.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_10x5.dds b/examples/runtime/textures/texture_compression_astc_10x5.dds index 5d83939548..b392a0b315 100644 Binary files a/examples/runtime/textures/texture_compression_astc_10x5.dds and b/examples/runtime/textures/texture_compression_astc_10x5.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_10x6.dds b/examples/runtime/textures/texture_compression_astc_10x6.dds new file mode 100644 index 0000000000..92edd56d6c Binary files /dev/null and b/examples/runtime/textures/texture_compression_astc_10x6.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_10x8.dds b/examples/runtime/textures/texture_compression_astc_10x8.dds new file mode 100644 index 0000000000..9eb093ae35 Binary files /dev/null and b/examples/runtime/textures/texture_compression_astc_10x8.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_12x10.dds b/examples/runtime/textures/texture_compression_astc_12x10.dds new file mode 100644 index 0000000000..23a6470853 Binary files /dev/null and b/examples/runtime/textures/texture_compression_astc_12x10.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_12x12.dds b/examples/runtime/textures/texture_compression_astc_12x12.dds new file mode 100644 index 0000000000..9c75905e56 Binary files /dev/null and b/examples/runtime/textures/texture_compression_astc_12x12.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_4x4.dds b/examples/runtime/textures/texture_compression_astc_4x4.dds index ada6b45d92..60d17bde3d 100644 Binary files a/examples/runtime/textures/texture_compression_astc_4x4.dds and b/examples/runtime/textures/texture_compression_astc_4x4.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_5x4.dds b/examples/runtime/textures/texture_compression_astc_5x4.dds new file mode 100644 index 0000000000..e47f966cf4 Binary files /dev/null and b/examples/runtime/textures/texture_compression_astc_5x4.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_5x5.dds b/examples/runtime/textures/texture_compression_astc_5x5.dds index bfce304225..1a7619030b 100644 Binary files a/examples/runtime/textures/texture_compression_astc_5x5.dds and b/examples/runtime/textures/texture_compression_astc_5x5.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_6x5.dds b/examples/runtime/textures/texture_compression_astc_6x5.dds new file mode 100644 index 0000000000..0b716ab819 Binary files /dev/null and b/examples/runtime/textures/texture_compression_astc_6x5.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_6x6.dds b/examples/runtime/textures/texture_compression_astc_6x6.dds index a1215b7f95..d4d829e44e 100644 Binary files a/examples/runtime/textures/texture_compression_astc_6x6.dds and b/examples/runtime/textures/texture_compression_astc_6x6.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_8x5.dds b/examples/runtime/textures/texture_compression_astc_8x5.dds index 55d1754fb9..e1a0dc6fd9 100644 Binary files a/examples/runtime/textures/texture_compression_astc_8x5.dds and b/examples/runtime/textures/texture_compression_astc_8x5.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_8x6.dds b/examples/runtime/textures/texture_compression_astc_8x6.dds index e205b999ce..24a66a6fef 100644 Binary files a/examples/runtime/textures/texture_compression_astc_8x6.dds and b/examples/runtime/textures/texture_compression_astc_8x6.dds differ diff --git a/examples/runtime/textures/texture_compression_astc_8x8.dds b/examples/runtime/textures/texture_compression_astc_8x8.dds new file mode 100644 index 0000000000..d5bad8c423 Binary files /dev/null and b/examples/runtime/textures/texture_compression_astc_8x8.dds differ diff --git a/include/bgfx/bgfx.h b/include/bgfx/bgfx.h index bba37b353c..844337d8f7 100644 --- a/include/bgfx/bgfx.h +++ b/include/bgfx/bgfx.h @@ -180,11 +180,19 @@ namespace bgfx ATCE, //!< ATCE RGBA 8 BPP explicit alpha ATCI, //!< ATCI RGBA 8 BPP interpolated alpha ASTC4x4, //!< ASTC 4x4 8.0 BPP + ASTC5x4, //!< ASTC 5x4 6.40 BPP ASTC5x5, //!< ASTC 5x5 5.12 BPP + ASTC6x5, //!< ASTC 6x5 4.27 BPP ASTC6x6, //!< ASTC 6x6 3.56 BPP ASTC8x5, //!< ASTC 8x5 3.20 BPP ASTC8x6, //!< ASTC 8x6 2.67 BPP + ASTC8x8, //!< ASTC 8x8 2.00 BPP ASTC10x5, //!< ASTC 10x5 2.56 BPP + ASTC10x6, //!< ASTC 10x6 2.13 BPP + ASTC10x8, //!< ASTC 10x8 1.60 BPP + ASTC10x10, //!< ASTC 10x10 1.28 BPP + ASTC12x10, //!< ASTC 12x10 1.07 BPP + ASTC12x12, //!< ASTC 12x12 0.89 BPP Unknown, // Compressed formats above. diff --git a/include/bgfx/c99/bgfx.h b/include/bgfx/c99/bgfx.h index 7b1cf9a22e..04d9bcebee 100644 --- a/include/bgfx/c99/bgfx.h +++ b/include/bgfx/c99/bgfx.h @@ -194,73 +194,81 @@ typedef enum bgfx_texture_format BGFX_TEXTURE_FORMAT_ATCE, /** (18) ATCE RGBA 8 BPP explicit alpha */ BGFX_TEXTURE_FORMAT_ATCI, /** (19) ATCI RGBA 8 BPP interpolated alpha */ BGFX_TEXTURE_FORMAT_ASTC4X4, /** (20) ASTC 4x4 8.0 BPP */ - BGFX_TEXTURE_FORMAT_ASTC5X5, /** (21) ASTC 5x5 5.12 BPP */ - BGFX_TEXTURE_FORMAT_ASTC6X6, /** (22) ASTC 6x6 3.56 BPP */ - BGFX_TEXTURE_FORMAT_ASTC8X5, /** (23) ASTC 8x5 3.20 BPP */ - BGFX_TEXTURE_FORMAT_ASTC8X6, /** (24) ASTC 8x6 2.67 BPP */ - BGFX_TEXTURE_FORMAT_ASTC10X5, /** (25) ASTC 10x5 2.56 BPP */ - BGFX_TEXTURE_FORMAT_UNKNOWN, /** (26) Compressed formats above. */ - BGFX_TEXTURE_FORMAT_R1, /** (27) */ - BGFX_TEXTURE_FORMAT_A8, /** (28) */ - BGFX_TEXTURE_FORMAT_R8, /** (29) */ - BGFX_TEXTURE_FORMAT_R8I, /** (30) */ - BGFX_TEXTURE_FORMAT_R8U, /** (31) */ - BGFX_TEXTURE_FORMAT_R8S, /** (32) */ - BGFX_TEXTURE_FORMAT_R16, /** (33) */ - BGFX_TEXTURE_FORMAT_R16I, /** (34) */ - BGFX_TEXTURE_FORMAT_R16U, /** (35) */ - BGFX_TEXTURE_FORMAT_R16F, /** (36) */ - BGFX_TEXTURE_FORMAT_R16S, /** (37) */ - BGFX_TEXTURE_FORMAT_R32I, /** (38) */ - BGFX_TEXTURE_FORMAT_R32U, /** (39) */ - BGFX_TEXTURE_FORMAT_R32F, /** (40) */ - BGFX_TEXTURE_FORMAT_RG8, /** (41) */ - BGFX_TEXTURE_FORMAT_RG8I, /** (42) */ - BGFX_TEXTURE_FORMAT_RG8U, /** (43) */ - BGFX_TEXTURE_FORMAT_RG8S, /** (44) */ - BGFX_TEXTURE_FORMAT_RG16, /** (45) */ - BGFX_TEXTURE_FORMAT_RG16I, /** (46) */ - BGFX_TEXTURE_FORMAT_RG16U, /** (47) */ - BGFX_TEXTURE_FORMAT_RG16F, /** (48) */ - BGFX_TEXTURE_FORMAT_RG16S, /** (49) */ - BGFX_TEXTURE_FORMAT_RG32I, /** (50) */ - BGFX_TEXTURE_FORMAT_RG32U, /** (51) */ - BGFX_TEXTURE_FORMAT_RG32F, /** (52) */ - BGFX_TEXTURE_FORMAT_RGB8, /** (53) */ - BGFX_TEXTURE_FORMAT_RGB8I, /** (54) */ - BGFX_TEXTURE_FORMAT_RGB8U, /** (55) */ - BGFX_TEXTURE_FORMAT_RGB8S, /** (56) */ - BGFX_TEXTURE_FORMAT_RGB9E5F, /** (57) */ - BGFX_TEXTURE_FORMAT_BGRA8, /** (58) */ - BGFX_TEXTURE_FORMAT_RGBA8, /** (59) */ - BGFX_TEXTURE_FORMAT_RGBA8I, /** (60) */ - BGFX_TEXTURE_FORMAT_RGBA8U, /** (61) */ - BGFX_TEXTURE_FORMAT_RGBA8S, /** (62) */ - BGFX_TEXTURE_FORMAT_RGBA16, /** (63) */ - BGFX_TEXTURE_FORMAT_RGBA16I, /** (64) */ - BGFX_TEXTURE_FORMAT_RGBA16U, /** (65) */ - BGFX_TEXTURE_FORMAT_RGBA16F, /** (66) */ - BGFX_TEXTURE_FORMAT_RGBA16S, /** (67) */ - BGFX_TEXTURE_FORMAT_RGBA32I, /** (68) */ - BGFX_TEXTURE_FORMAT_RGBA32U, /** (69) */ - BGFX_TEXTURE_FORMAT_RGBA32F, /** (70) */ - 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_ASTC5X4, /** (21) ASTC 5x4 6.40 BPP */ + BGFX_TEXTURE_FORMAT_ASTC5X5, /** (22) ASTC 5x5 5.12 BPP */ + BGFX_TEXTURE_FORMAT_ASTC6X5, /** (23) ASTC 6x5 4.27 BPP */ + BGFX_TEXTURE_FORMAT_ASTC6X6, /** (24) ASTC 6x6 3.56 BPP */ + BGFX_TEXTURE_FORMAT_ASTC8X5, /** (25) ASTC 8x5 3.20 BPP */ + BGFX_TEXTURE_FORMAT_ASTC8X6, /** (26) ASTC 8x6 2.67 BPP */ + BGFX_TEXTURE_FORMAT_ASTC8X8, /** (27) ASTC 8x8 2.00 BPP */ + BGFX_TEXTURE_FORMAT_ASTC10X5, /** (28) ASTC 10x5 2.56 BPP */ + BGFX_TEXTURE_FORMAT_ASTC10X6, /** (29) ASTC 10x6 2.13 BPP */ + BGFX_TEXTURE_FORMAT_ASTC10X8, /** (30) ASTC 10x8 1.60 BPP */ + BGFX_TEXTURE_FORMAT_ASTC10X10, /** (31) ASTC 10x10 1.28 BPP */ + BGFX_TEXTURE_FORMAT_ASTC12X10, /** (32) ASTC 12x10 1.07 BPP */ + BGFX_TEXTURE_FORMAT_ASTC12X12, /** (33) ASTC 12x12 0.89 BPP */ + BGFX_TEXTURE_FORMAT_UNKNOWN, /** (34) Compressed formats above. */ + BGFX_TEXTURE_FORMAT_R1, /** (35) */ + BGFX_TEXTURE_FORMAT_A8, /** (36) */ + BGFX_TEXTURE_FORMAT_R8, /** (37) */ + BGFX_TEXTURE_FORMAT_R8I, /** (38) */ + BGFX_TEXTURE_FORMAT_R8U, /** (39) */ + BGFX_TEXTURE_FORMAT_R8S, /** (40) */ + BGFX_TEXTURE_FORMAT_R16, /** (41) */ + BGFX_TEXTURE_FORMAT_R16I, /** (42) */ + BGFX_TEXTURE_FORMAT_R16U, /** (43) */ + BGFX_TEXTURE_FORMAT_R16F, /** (44) */ + BGFX_TEXTURE_FORMAT_R16S, /** (45) */ + BGFX_TEXTURE_FORMAT_R32I, /** (46) */ + BGFX_TEXTURE_FORMAT_R32U, /** (47) */ + BGFX_TEXTURE_FORMAT_R32F, /** (48) */ + BGFX_TEXTURE_FORMAT_RG8, /** (49) */ + BGFX_TEXTURE_FORMAT_RG8I, /** (50) */ + BGFX_TEXTURE_FORMAT_RG8U, /** (51) */ + BGFX_TEXTURE_FORMAT_RG8S, /** (52) */ + BGFX_TEXTURE_FORMAT_RG16, /** (53) */ + BGFX_TEXTURE_FORMAT_RG16I, /** (54) */ + BGFX_TEXTURE_FORMAT_RG16U, /** (55) */ + BGFX_TEXTURE_FORMAT_RG16F, /** (56) */ + BGFX_TEXTURE_FORMAT_RG16S, /** (57) */ + BGFX_TEXTURE_FORMAT_RG32I, /** (58) */ + BGFX_TEXTURE_FORMAT_RG32U, /** (59) */ + BGFX_TEXTURE_FORMAT_RG32F, /** (60) */ + BGFX_TEXTURE_FORMAT_RGB8, /** (61) */ + BGFX_TEXTURE_FORMAT_RGB8I, /** (62) */ + BGFX_TEXTURE_FORMAT_RGB8U, /** (63) */ + BGFX_TEXTURE_FORMAT_RGB8S, /** (64) */ + BGFX_TEXTURE_FORMAT_RGB9E5F, /** (65) */ + BGFX_TEXTURE_FORMAT_BGRA8, /** (66) */ + BGFX_TEXTURE_FORMAT_RGBA8, /** (67) */ + BGFX_TEXTURE_FORMAT_RGBA8I, /** (68) */ + BGFX_TEXTURE_FORMAT_RGBA8U, /** (69) */ + BGFX_TEXTURE_FORMAT_RGBA8S, /** (70) */ + BGFX_TEXTURE_FORMAT_RGBA16, /** (71) */ + BGFX_TEXTURE_FORMAT_RGBA16I, /** (72) */ + BGFX_TEXTURE_FORMAT_RGBA16U, /** (73) */ + BGFX_TEXTURE_FORMAT_RGBA16F, /** (74) */ + BGFX_TEXTURE_FORMAT_RGBA16S, /** (75) */ + BGFX_TEXTURE_FORMAT_RGBA32I, /** (76) */ + BGFX_TEXTURE_FORMAT_RGBA32U, /** (77) */ + BGFX_TEXTURE_FORMAT_RGBA32F, /** (78) */ + BGFX_TEXTURE_FORMAT_B5G6R5, /** (79) */ + BGFX_TEXTURE_FORMAT_R5G6B5, /** (80) */ + BGFX_TEXTURE_FORMAT_BGRA4, /** (81) */ + BGFX_TEXTURE_FORMAT_RGBA4, /** (82) */ + BGFX_TEXTURE_FORMAT_BGR5A1, /** (83) */ + BGFX_TEXTURE_FORMAT_RGB5A1, /** (84) */ + BGFX_TEXTURE_FORMAT_RGB10A2, /** (85) */ + BGFX_TEXTURE_FORMAT_RG11B10F, /** (86) */ + BGFX_TEXTURE_FORMAT_UNKNOWNDEPTH, /** (87) Depth formats below. */ + BGFX_TEXTURE_FORMAT_D16, /** (88) */ + BGFX_TEXTURE_FORMAT_D24, /** (89) */ + BGFX_TEXTURE_FORMAT_D24S8, /** (90) */ + BGFX_TEXTURE_FORMAT_D32, /** (91) */ + BGFX_TEXTURE_FORMAT_D16F, /** (92) */ + BGFX_TEXTURE_FORMAT_D24F, /** (93) */ + BGFX_TEXTURE_FORMAT_D32F, /** (94) */ + BGFX_TEXTURE_FORMAT_D0S8, /** (95) */ BGFX_TEXTURE_FORMAT_COUNT diff --git a/include/bgfx/defines.h b/include/bgfx/defines.h index 01a188c2f9..c5f136b4e0 100644 --- a/include/bgfx/defines.h +++ b/include/bgfx/defines.h @@ -15,7 +15,7 @@ #ifndef BGFX_DEFINES_H_HEADER_GUARD #define BGFX_DEFINES_H_HEADER_GUARD -#define BGFX_API_VERSION UINT32_C(117) +#define BGFX_API_VERSION UINT32_C(118) /** * Color RGB/alpha/depth write. When it's not specified write will be disabled. diff --git a/scripts/bgfx.idl b/scripts/bgfx.idl index 9d97bc0eb5..a0d9428c6c 100644 --- a/scripts/bgfx.idl +++ b/scripts/bgfx.idl @@ -1,7 +1,7 @@ -- vim: syntax=lua -- bgfx interface -version(117) +version(118) typedef "bool" typedef "char" @@ -523,33 +523,41 @@ enum.AttribType { comment = "Attribute types:" } --- --- @attention Availability depends on Caps (see: formats). enum.TextureFormat { comment = "Texture formats:" } - .BC1 --- DXT1 R5G6B5A1 - .BC2 --- DXT3 R5G6B5A4 - .BC3 --- DXT5 R5G6B5A8 - .BC4 --- LATC1/ATI1 R8 - .BC5 --- LATC2/ATI2 RG8 - .BC6H --- BC6H RGB16F - .BC7 --- BC7 RGB 4-7 bits per color channel, 0-8 bits alpha - .ETC1 --- ETC1 RGB8 - .ETC2 --- ETC2 RGB8 - .ETC2A --- ETC2 RGBA8 - .ETC2A1 --- ETC2 RGB8A1 - .PTC12 --- PVRTC1 RGB 2BPP - .PTC14 --- PVRTC1 RGB 4BPP - .PTC12A --- PVRTC1 RGBA 2BPP - .PTC14A --- PVRTC1 RGBA 4BPP - .PTC22 --- PVRTC2 RGBA 2BPP - .PTC24 --- PVRTC2 RGBA 4BPP - .ATC --- ATC RGB 4BPP - .ATCE --- ATCE RGBA 8 BPP explicit alpha - .ATCI --- ATCI RGBA 8 BPP interpolated alpha - .ASTC4x4 --- ASTC 4x4 8.0 BPP - .ASTC5x5 --- ASTC 5x5 5.12 BPP - .ASTC6x6 --- ASTC 6x6 3.56 BPP - .ASTC8x5 --- ASTC 8x5 3.20 BPP - .ASTC8x6 --- ASTC 8x6 2.67 BPP - .ASTC10x5 --- ASTC 10x5 2.56 BPP - .Unknown --- Compressed formats above. + .BC1 --- DXT1 R5G6B5A1 + .BC2 --- DXT3 R5G6B5A4 + .BC3 --- DXT5 R5G6B5A8 + .BC4 --- LATC1/ATI1 R8 + .BC5 --- LATC2/ATI2 RG8 + .BC6H --- BC6H RGB16F + .BC7 --- BC7 RGB 4-7 bits per color channel, 0-8 bits alpha + .ETC1 --- ETC1 RGB8 + .ETC2 --- ETC2 RGB8 + .ETC2A --- ETC2 RGBA8 + .ETC2A1 --- ETC2 RGB8A1 + .PTC12 --- PVRTC1 RGB 2BPP + .PTC14 --- PVRTC1 RGB 4BPP + .PTC12A --- PVRTC1 RGBA 2BPP + .PTC14A --- PVRTC1 RGBA 4BPP + .PTC22 --- PVRTC2 RGBA 2BPP + .PTC24 --- PVRTC2 RGBA 4BPP + .ATC --- ATC RGB 4BPP + .ATCE --- ATCE RGBA 8 BPP explicit alpha + .ATCI --- ATCI RGBA 8 BPP interpolated alpha + .ASTC4x4 --- ASTC 4x4 8.0 BPP + .ASTC5x4 --- ASTC 5x4 6.40 BPP + .ASTC5x5 --- ASTC 5x5 5.12 BPP + .ASTC6x5 --- ASTC 6x5 4.27 BPP + .ASTC6x6 --- ASTC 6x6 3.56 BPP + .ASTC8x5 --- ASTC 8x5 3.20 BPP + .ASTC8x6 --- ASTC 8x6 2.67 BPP + .ASTC8x8 --- ASTC 8x8 2.00 BPP + .ASTC10x5 --- ASTC 10x5 2.56 BPP + .ASTC10x6 --- ASTC 10x6 2.13 BPP + .ASTC10x8 --- ASTC 10x8 1.60 BPP + .ASTC10x10 --- ASTC 10x10 1.28 BPP + .ASTC12x10 --- ASTC 12x10 1.07 BPP + .ASTC12x12 --- ASTC 12x12 0.89 BPP + .Unknown --- Compressed formats above. .R1 .A8 .R8 diff --git a/scripts/build.ninja b/scripts/build.ninja index 081457fa75..94ac877c42 100644 --- a/scripts/build.ninja +++ b/scripts/build.ninja @@ -33,9 +33,15 @@ rule texturec_bc7 rule texturec_astc4x4 command = texturec -f $in -o $out -t astc4x4 -m +rule texturec_astc5x4 + command = texturec -f $in -o $out -t astc5x4 -m + rule texturec_astc5x5 command = texturec -f $in -o $out -t astc5x5 -m +rule texturec_astc6x5 + command = texturec -f $in -o $out -t astc6x5 -m + rule texturec_astc6x6 command = texturec -f $in -o $out -t astc6x6 -m @@ -48,6 +54,24 @@ rule texturec_astc8x6 rule texturec_astc10x5 command = texturec -f $in -o $out -t astc10x5 -m +rule texturec_astc10x6 + command = texturec -f $in -o $out -t astc10x6 -m + +rule texturec_astc8x8 + command = texturec -f $in -o $out -t astc8x8 -m + +rule texturec_astc10x8 + command = texturec -f $in -o $out -t astc10x8 -m + +rule texturec_astc10x10 + command = texturec -f $in -o $out -t astc10x10 -m + +rule texturec_astc12x10 + command = texturec -f $in -o $out -t astc12x10 -m + +rule texturec_astc12x12 + command = texturec -f $in -o $out -t astc12x12 -m + rule texturec_etc1 command = texturec -f $in -o $out -t etc1 -m diff --git a/src/bgfx.cpp b/src/bgfx.cpp index 2b54f16caf..f9ef0a6e20 100644 --- a/src/bgfx.cpp +++ b/src/bgfx.cpp @@ -1868,11 +1868,19 @@ namespace bgfx TextureFormat::ATCE, TextureFormat::ATCI, TextureFormat::ASTC4x4, + TextureFormat::ASTC5x4, TextureFormat::ASTC5x5, + TextureFormat::ASTC6x5, TextureFormat::ASTC6x6, TextureFormat::ASTC8x5, TextureFormat::ASTC8x6, + TextureFormat::ASTC8x8, TextureFormat::ASTC10x5, + TextureFormat::ASTC10x6, + TextureFormat::ASTC10x8, + TextureFormat::ASTC10x10, + TextureFormat::ASTC12x10, + TextureFormat::ASTC12x12, TextureFormat::BGRA8, // GL doesn't support BGRA8 without extensions. TextureFormat::RGBA8, // D3D9 doesn't support RGBA8 }; @@ -5600,11 +5608,19 @@ BGFX_TEXTURE_FORMAT_BIMG(ATC); BGFX_TEXTURE_FORMAT_BIMG(ATCE); BGFX_TEXTURE_FORMAT_BIMG(ATCI); BGFX_TEXTURE_FORMAT_BIMG(ASTC4x4); +BGFX_TEXTURE_FORMAT_BIMG(ASTC5x4); BGFX_TEXTURE_FORMAT_BIMG(ASTC5x5); +BGFX_TEXTURE_FORMAT_BIMG(ASTC6x5); BGFX_TEXTURE_FORMAT_BIMG(ASTC6x6); BGFX_TEXTURE_FORMAT_BIMG(ASTC8x5); BGFX_TEXTURE_FORMAT_BIMG(ASTC8x6); +BGFX_TEXTURE_FORMAT_BIMG(ASTC8x8); BGFX_TEXTURE_FORMAT_BIMG(ASTC10x5); +BGFX_TEXTURE_FORMAT_BIMG(ASTC10x6); +BGFX_TEXTURE_FORMAT_BIMG(ASTC10x8); +BGFX_TEXTURE_FORMAT_BIMG(ASTC10x10); +BGFX_TEXTURE_FORMAT_BIMG(ASTC12x10); +BGFX_TEXTURE_FORMAT_BIMG(ASTC12x12); BGFX_TEXTURE_FORMAT_BIMG(Unknown); BGFX_TEXTURE_FORMAT_BIMG(R1); BGFX_TEXTURE_FORMAT_BIMG(A8); diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index 4c5a1a630c..454621ad4c 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -224,11 +224,19 @@ namespace bgfx { namespace d3d11 { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // ATCE { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // ATCI { DXGI_FORMAT_ASTC_4X4_UNORM, DXGI_FORMAT_ASTC_4X4_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_4X4_UNORM_SRGB }, // ASTC4x4 + { DXGI_FORMAT_ASTC_5X4_UNORM, DXGI_FORMAT_ASTC_5X4_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_5X4_UNORM_SRGB }, // ASTC5x4 { DXGI_FORMAT_ASTC_5X5_UNORM, DXGI_FORMAT_ASTC_5X5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_5X5_UNORM_SRGB }, // ASTC5x5 + { DXGI_FORMAT_ASTC_6X5_UNORM, DXGI_FORMAT_ASTC_6X5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_6X5_UNORM_SRGB }, // ASTC6x5 { DXGI_FORMAT_ASTC_6X6_UNORM, DXGI_FORMAT_ASTC_6X6_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_6X6_UNORM_SRGB }, // ASTC6x6 { DXGI_FORMAT_ASTC_8X5_UNORM, DXGI_FORMAT_ASTC_8X5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_8X5_UNORM_SRGB }, // ASTC8x5 { DXGI_FORMAT_ASTC_8X6_UNORM, DXGI_FORMAT_ASTC_8X6_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_8X6_UNORM_SRGB }, // ASTC8x6 + { DXGI_FORMAT_ASTC_8X8_UNORM, DXGI_FORMAT_ASTC_8X8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_8X8_UNORM_SRGB }, // ASTC8x8 { DXGI_FORMAT_ASTC_10X5_UNORM, DXGI_FORMAT_ASTC_10X5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_10X5_UNORM_SRGB }, // ASTC10x5 + { DXGI_FORMAT_ASTC_10X6_UNORM, DXGI_FORMAT_ASTC_10X6_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_10X6_UNORM_SRGB }, // ASTC10x6 + { DXGI_FORMAT_ASTC_10X8_UNORM, DXGI_FORMAT_ASTC_10X8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_10X8_UNORM_SRGB }, // ASTC10x8 + { DXGI_FORMAT_ASTC_10X10_UNORM, DXGI_FORMAT_ASTC_10X10_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_10X10_UNORM_SRGB}, // ASTC10x10 + { DXGI_FORMAT_ASTC_12X10_UNORM, DXGI_FORMAT_ASTC_12X10_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_12X10_UNORM_SRGB}, // ASTC12x10 + { DXGI_FORMAT_ASTC_12X12_UNORM, DXGI_FORMAT_ASTC_12X12_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_12X12_UNORM_SRGB}, // ASTC12x12 { 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_A8_UNORM, DXGI_FORMAT_A8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // A8 diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp index c4416c71c3..3cab184c5b 100644 --- a/src/renderer_d3d12.cpp +++ b/src/renderer_d3d12.cpp @@ -214,11 +214,19 @@ namespace bgfx { namespace d3d12 { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ATCE { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ATCI { DXGI_FORMAT_ASTC_4X4_UNORM, DXGI_FORMAT_ASTC_4X4_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_4X4_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC4x4 + { DXGI_FORMAT_ASTC_5X4_UNORM, DXGI_FORMAT_ASTC_5X4_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_5X4_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC5x4 { DXGI_FORMAT_ASTC_5X5_UNORM, DXGI_FORMAT_ASTC_5X5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_5X5_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC5x5 + { DXGI_FORMAT_ASTC_6X5_UNORM, DXGI_FORMAT_ASTC_6X5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_6X5_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC6x5 { DXGI_FORMAT_ASTC_6X6_UNORM, DXGI_FORMAT_ASTC_6X6_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_6X6_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC6x6 { DXGI_FORMAT_ASTC_8X5_UNORM, DXGI_FORMAT_ASTC_8X5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_8X5_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC8x5 { DXGI_FORMAT_ASTC_8X6_UNORM, DXGI_FORMAT_ASTC_8X6_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_8X6_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC8x6 + { DXGI_FORMAT_ASTC_8X8_UNORM, DXGI_FORMAT_ASTC_8X8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_8X8_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC8x8 { DXGI_FORMAT_ASTC_10X5_UNORM, DXGI_FORMAT_ASTC_10X5_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_10X5_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC10x5 + { DXGI_FORMAT_ASTC_10X6_UNORM, DXGI_FORMAT_ASTC_10X6_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_10X6_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC10x6 + { DXGI_FORMAT_ASTC_10X8_UNORM, DXGI_FORMAT_ASTC_10X8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_10X8_UNORM_SRGB, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC10x8 + { DXGI_FORMAT_ASTC_10X10_UNORM, DXGI_FORMAT_ASTC_10X10_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_10X10_UNORM_SRGB,D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC10x10 + { DXGI_FORMAT_ASTC_12X10_UNORM, DXGI_FORMAT_ASTC_12X10_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_12X10_UNORM_SRGB,D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC12x10 + { DXGI_FORMAT_ASTC_12X12_UNORM, DXGI_FORMAT_ASTC_12X12_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_ASTC_12X12_UNORM_SRGB,D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ASTC12x12 { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // Unknown { DXGI_FORMAT_R1_UNORM, DXGI_FORMAT_R1_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // R1 { DXGI_FORMAT_A8_UNORM, DXGI_FORMAT_A8_UNORM, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // A8 diff --git a/src/renderer_d3d9.cpp b/src/renderer_d3d9.cpp index 174670d452..95872fa492 100644 --- a/src/renderer_d3d9.cpp +++ b/src/renderer_d3d9.cpp @@ -183,12 +183,20 @@ namespace bgfx { namespace d3d9 { D3DFMT_UNKNOWN }, // ATC, { D3DFMT_UNKNOWN }, // ATCE, { D3DFMT_UNKNOWN }, // ATCI, - { D3DFMT_UNKNOWN }, // ASTC4x4, - { D3DFMT_UNKNOWN }, // ASTC5x5, - { D3DFMT_UNKNOWN }, // ASTC6x6, - { D3DFMT_UNKNOWN }, // ASTC8x5, - { D3DFMT_UNKNOWN }, // ASTC8x6, - { D3DFMT_UNKNOWN }, // ASTC10x5, + { D3DFMT_UNKNOWN }, // ASTC4x4 + { D3DFMT_UNKNOWN }, // ASTC5x4 + { D3DFMT_UNKNOWN }, // ASTC5x5 + { D3DFMT_UNKNOWN }, // ASTC6x5 + { D3DFMT_UNKNOWN }, // ASTC6x6 + { D3DFMT_UNKNOWN }, // ASTC8x5 + { D3DFMT_UNKNOWN }, // ASTC8x6 + { D3DFMT_UNKNOWN }, // ASTC8x8 + { D3DFMT_UNKNOWN }, // ASTC10x5 + { D3DFMT_UNKNOWN }, // ASTC10x6 + { D3DFMT_UNKNOWN }, // ASTC10x8 + { D3DFMT_UNKNOWN }, // ASTC10x10 + { D3DFMT_UNKNOWN }, // ASTC12x10 + { D3DFMT_UNKNOWN }, // ASTC12x12 { D3DFMT_UNKNOWN }, // Unknown { D3DFMT_A1 }, // R1 { D3DFMT_A8 }, // A8 diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index 3b5f18b530..6fdf64225d 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -237,11 +237,19 @@ namespace bgfx { namespace gl { GL_ATC_RGBA_EXPLICIT_ALPHA_AMD, GL_ZERO, GL_ATC_RGBA_EXPLICIT_ALPHA_AMD, GL_ATC_RGBA_EXPLICIT_ALPHA_AMD, GL_ZERO, false, { $_, $_, $_, $_ } }, // ATCE { GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD, GL_ZERO, GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD, GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD, GL_ZERO, false, { $_, $_, $_, $_ } }, // ATCI { GL_COMPRESSED_RGBA_ASTC_4x4_KHR, GL_COMPRESSED_SRGB8_ASTC_4x4_KHR, GL_COMPRESSED_RGBA_ASTC_4x4_KHR, GL_COMPRESSED_RGBA_ASTC_4x4_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC4x4 + { GL_COMPRESSED_RGBA_ASTC_5x4_KHR, GL_COMPRESSED_SRGB8_ASTC_5x4_KHR, GL_COMPRESSED_RGBA_ASTC_5x4_KHR, GL_COMPRESSED_RGBA_ASTC_5x4_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC5x4 { GL_COMPRESSED_RGBA_ASTC_5x5_KHR, GL_COMPRESSED_SRGB8_ASTC_5x5_KHR, GL_COMPRESSED_RGBA_ASTC_5x5_KHR, GL_COMPRESSED_RGBA_ASTC_5x5_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC5x5 + { GL_COMPRESSED_RGBA_ASTC_6x5_KHR, GL_COMPRESSED_SRGB8_ASTC_6x5_KHR, GL_COMPRESSED_RGBA_ASTC_6x5_KHR, GL_COMPRESSED_RGBA_ASTC_6x5_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC6x5 { GL_COMPRESSED_RGBA_ASTC_6x6_KHR, GL_COMPRESSED_SRGB8_ASTC_6x6_KHR, GL_COMPRESSED_RGBA_ASTC_6x6_KHR, GL_COMPRESSED_RGBA_ASTC_6x6_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC6x6 { GL_COMPRESSED_RGBA_ASTC_8x5_KHR, GL_COMPRESSED_SRGB8_ASTC_8x5_KHR, GL_COMPRESSED_RGBA_ASTC_8x5_KHR, GL_COMPRESSED_RGBA_ASTC_8x5_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC8x5 { GL_COMPRESSED_RGBA_ASTC_8x6_KHR, GL_COMPRESSED_SRGB8_ASTC_8x6_KHR, GL_COMPRESSED_RGBA_ASTC_8x6_KHR, GL_COMPRESSED_RGBA_ASTC_8x6_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC8x6 + { GL_COMPRESSED_RGBA_ASTC_8x8_KHR, GL_COMPRESSED_SRGB8_ASTC_8x8_KHR, GL_COMPRESSED_RGBA_ASTC_8x8_KHR, GL_COMPRESSED_RGBA_ASTC_8x8_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC8x8 { GL_COMPRESSED_RGBA_ASTC_10x5_KHR, GL_COMPRESSED_SRGB8_ASTC_10x5_KHR, GL_COMPRESSED_RGBA_ASTC_10x5_KHR, GL_COMPRESSED_RGBA_ASTC_10x5_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC10x5 + { GL_COMPRESSED_RGBA_ASTC_10x6_KHR, GL_COMPRESSED_SRGB8_ASTC_10x6_KHR, GL_COMPRESSED_RGBA_ASTC_10x6_KHR, GL_COMPRESSED_RGBA_ASTC_10x6_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC10x6 + { GL_COMPRESSED_RGBA_ASTC_10x8_KHR, GL_COMPRESSED_SRGB8_ASTC_10x8_KHR, GL_COMPRESSED_RGBA_ASTC_10x8_KHR, GL_COMPRESSED_RGBA_ASTC_10x8_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC10x8 + { GL_COMPRESSED_RGBA_ASTC_10x10_KHR, GL_COMPRESSED_SRGB8_ASTC_10x10_KHR, GL_COMPRESSED_RGBA_ASTC_10x10_KHR, GL_COMPRESSED_RGBA_ASTC_10x10_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC10x10 + { GL_COMPRESSED_RGBA_ASTC_12x10_KHR, GL_COMPRESSED_SRGB8_ASTC_12x10_KHR, GL_COMPRESSED_RGBA_ASTC_12x10_KHR, GL_COMPRESSED_RGBA_ASTC_12x10_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC12x10 + { GL_COMPRESSED_RGBA_ASTC_12x12_KHR, GL_COMPRESSED_SRGB8_ASTC_12x12_KHR, GL_COMPRESSED_RGBA_ASTC_12x12_KHR, GL_COMPRESSED_RGBA_ASTC_12x12_KHR, GL_ZERO, false, { $_, $_, $_, $_ } }, // ASTC12x12 { GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, false, { $_, $_, $_, $_ } }, // Unknown { GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, false, { $_, $_, $_, $_ } }, // R1 { GL_ALPHA, GL_ZERO, GL_ALPHA, GL_ALPHA, GL_UNSIGNED_BYTE, false, { $_, $_, $_, $_ } }, // A8 @@ -339,11 +347,19 @@ namespace bgfx { namespace gl GL_ZERO, // ATCE GL_ZERO, // ATCI GL_ZERO, // ASTC4x4 + GL_ZERO, // ASTC5x4 GL_ZERO, // ASTC5x5 + GL_ZERO, // ASTC6x5 GL_ZERO, // ASTC6x6 GL_ZERO, // ASTC8x5 GL_ZERO, // ASTC8x6 + GL_ZERO, // ASTC8x8 GL_ZERO, // ASTC10x5 + GL_ZERO, // ASTC10x6 + GL_ZERO, // ASTC10x8 + GL_ZERO, // ASTC10x10 + GL_ZERO, // ASTC12x10 + GL_ZERO, // ASTC12x12 GL_ZERO, // Unknown GL_ZERO, // R1 GL_ALPHA, // A8 @@ -432,11 +448,19 @@ namespace bgfx { namespace gl GL_ZERO, // ATCE GL_ZERO, // ATCI GL_ZERO, // ASTC4x4 + GL_ZERO, // ASTC5x4 GL_ZERO, // ASTC5x5 + GL_ZERO, // ASTC6x5 GL_ZERO, // ASTC6x6 GL_ZERO, // ASTC8x5 GL_ZERO, // ASTC8x6 + GL_ZERO, // ASTC8x8 GL_ZERO, // ASTC10x5 + GL_ZERO, // ASTC10x6 + GL_ZERO, // ASTC10x8 + GL_ZERO, // ASTC10x10 + GL_ZERO, // ASTC12x10 + GL_ZERO, // ASTC12x12 GL_ZERO, // Unknown GL_ZERO, // R1 GL_ALPHA, // A8 diff --git a/src/renderer_gl.h b/src/renderer_gl.h index 1aa858f41d..1006dbf7a2 100644 --- a/src/renderer_gl.h +++ b/src/renderer_gl.h @@ -546,10 +546,18 @@ typedef uint64_t GLuint64; # define GL_COMPRESSED_SRGB8_ASTC_4x4_KHR 0x93D0 #endif +#ifndef GL_COMPRESSED_SRGB8_ASTC_5x4_KHR +# define GL_COMPRESSED_SRGB8_ASTC_5x4_KHR 0x93D1 +#endif + #ifndef GL_COMPRESSED_SRGB8_ASTC_5x5_KHR # define GL_COMPRESSED_SRGB8_ASTC_5x5_KHR 0x93D2 #endif +#ifndef GL_COMPRESSED_SRGB8_ASTC_6x5_KHR +# define GL_COMPRESSED_SRGB8_ASTC_6x5_KHR 0x93D3 +#endif + #ifndef GL_COMPRESSED_SRGB8_ASTC_6x6_KHR # define GL_COMPRESSED_SRGB8_ASTC_6x6_KHR 0x93D4 #endif @@ -562,10 +570,34 @@ typedef uint64_t GLuint64; # define GL_COMPRESSED_SRGB8_ASTC_8x6_KHR 0x93D6 #endif +#ifndef GL_COMPRESSED_SRGB8_ASTC_8x8_KHR +# define GL_COMPRESSED_SRGB8_ASTC_8x8_KHR 0x93D7 +#endif + #ifndef GL_COMPRESSED_SRGB8_ASTC_10x5_KHR # define GL_COMPRESSED_SRGB8_ASTC_10x5_KHR 0x93D8 #endif +#ifndef GL_COMPRESSED_SRGB8_ASTC_10x6_KHR +# define GL_COMPRESSED_SRGB8_ASTC_10x6_KHR 0x93D9 +#endif + +#ifndef GL_COMPRESSED_SRGB8_ASTC_10x8_KHR +# define GL_COMPRESSED_SRGB8_ASTC_10x8_KHR 0x93DA +#endif + +#ifndef GL_COMPRESSED_SRGB8_ASTC_10x10_KHR +# define GL_COMPRESSED_SRGB8_ASTC_10x10_KHR 0x93DB +#endif + +#ifndef GL_COMPRESSED_SRGB8_ASTC_12x10_KHR +# define GL_COMPRESSED_SRGB8_ASTC_12x10_KHR 0x93DC +#endif + +#ifndef GL_COMPRESSED_SRGB8_ASTC_12x12_KHR +# define GL_COMPRESSED_SRGB8_ASTC_12x12_KHR 0x93DD +#endif + #ifndef GL_COMPRESSED_RGBA_BPTC_UNORM_ARB # define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C #endif // GL_COMPRESSED_RGBA_BPTC_UNORM_ARB diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm index 16cd8bf36c..2317c16d6b 100644 --- a/src/renderer_mtl.mm +++ b/src/renderer_mtl.mm @@ -246,18 +246,34 @@ inline void setViewType(ViewId _view, const bx::StringView _str) { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ATCI #if BX_PLATFORM_IOS && !TARGET_OS_MACCATALYST { MTLPixelFormatASTC_4x4_LDR, MTLPixelFormatASTC_4x4_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC4x4 + { MTLPixelFormatASTC_5x4_LDR, MTLPixelFormatASTC_5x4_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC5x4 { MTLPixelFormatASTC_5x5_LDR, MTLPixelFormatASTC_5x5_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC5x5 + { MTLPixelFormatASTC_6x5_LDR, MTLPixelFormatASTC_6x5_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC6x5 { MTLPixelFormatASTC_6x6_LDR, MTLPixelFormatASTC_6x6_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC6x6 { MTLPixelFormatASTC_8x5_LDR, MTLPixelFormatASTC_8x5_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC8x5 { MTLPixelFormatASTC_8x6_LDR, MTLPixelFormatASTC_8x6_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC8x6 + { MTLPixelFormatASTC_8x8_LDR, MTLPixelFormatASTC_8x8_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC8x8 { MTLPixelFormatASTC_10x5_LDR, MTLPixelFormatASTC_10x5_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC10x5 + { MTLPixelFormatASTC_10x6_LDR, MTLPixelFormatASTC_10x6_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC10x6 + { MTLPixelFormatASTC_10x8_LDR, MTLPixelFormatASTC_10x8_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC10x8 + { MTLPixelFormatASTC_10x10_LDR, MTLPixelFormatASTC_10x10_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC10x10 + { MTLPixelFormatASTC_12x10_LDR, MTLPixelFormatASTC_12x10_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC12x10 + { MTLPixelFormatASTC_12x12_LDR, MTLPixelFormatASTC_12x12_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC12x12 #else { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC4x4 + { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC5x4 { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC5x5 + { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC6x5 { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC6x6 { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC8x5 { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC8x6 + { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC8x8 { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC10x5 + { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC10x6 + { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC10x8 + { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC10x10 + { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC12x10 + { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ASTC12x12 #endif // BX_PLATFORM_IOS && !TARGET_OS_MACCATALYST { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // Unknown { MTLPixelFormatInvalid, MTLPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // R1 diff --git a/src/renderer_vk.cpp b/src/renderer_vk.cpp index 95242e955e..17ece29828 100644 --- a/src/renderer_vk.cpp +++ b/src/renderer_vk.cpp @@ -187,12 +187,20 @@ VK_IMPORT_DEVICE { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // ATC { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // ATCE { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // ATCI - { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // ASTC4x4 - { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // ASTC5x5 - { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // ASTC6x6 - { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // ASTC8x5 - { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // ASTC8x6 - { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // ASTC10x5 + { VK_FORMAT_ASTC_4x4_UNORM_BLOCK, VK_FORMAT_ASTC_4x4_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_4x4_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC4x4 + { VK_FORMAT_ASTC_5x4_UNORM_BLOCK, VK_FORMAT_ASTC_5x4_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_5x4_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC5x4 + { VK_FORMAT_ASTC_5x5_UNORM_BLOCK, VK_FORMAT_ASTC_5x5_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_5x5_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC5x5 + { VK_FORMAT_ASTC_6x5_UNORM_BLOCK, VK_FORMAT_ASTC_6x5_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_6x5_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC6x5 + { VK_FORMAT_ASTC_6x6_UNORM_BLOCK, VK_FORMAT_ASTC_6x6_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_6x6_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC6x6 + { VK_FORMAT_ASTC_8x5_UNORM_BLOCK, VK_FORMAT_ASTC_8x5_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_8x5_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC8x5 + { VK_FORMAT_ASTC_8x6_UNORM_BLOCK, VK_FORMAT_ASTC_8x6_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_8x6_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC8x6 + { VK_FORMAT_ASTC_8x8_UNORM_BLOCK, VK_FORMAT_ASTC_8x8_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_8x8_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC8x8 + { VK_FORMAT_ASTC_10x5_UNORM_BLOCK, VK_FORMAT_ASTC_10x5_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_10x5_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC10x5 + { VK_FORMAT_ASTC_10x6_UNORM_BLOCK, VK_FORMAT_ASTC_10x6_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_10x6_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC10x6 + { VK_FORMAT_ASTC_10x8_UNORM_BLOCK, VK_FORMAT_ASTC_10x8_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_10x8_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC10x8 + { VK_FORMAT_ASTC_10x10_UNORM_BLOCK, VK_FORMAT_ASTC_10x10_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_10x10_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC10x10 + { VK_FORMAT_ASTC_12x10_UNORM_BLOCK, VK_FORMAT_ASTC_12x10_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_12x10_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC12x10 + { VK_FORMAT_ASTC_12x12_UNORM_BLOCK, VK_FORMAT_ASTC_12x12_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_ASTC_12x12_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ASTC12x12 { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // Unknown { VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // R1 { VK_FORMAT_R8_UNORM, VK_FORMAT_R8_UNORM, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $0, $0, $0, $R } }, // A8 diff --git a/src/renderer_webgpu.cpp b/src/renderer_webgpu.cpp index d1273d9107..8f747167ee 100644 --- a/src/renderer_webgpu.cpp +++ b/src/renderer_webgpu.cpp @@ -306,11 +306,19 @@ namespace bgfx { namespace webgpu { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ATCE { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ATCI { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC4x4 + { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC5x4 { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC5x5 + { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC6x5 { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC6x6 { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC8x5 { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC8x6 + { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC8x8 { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC10x5 + { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC10x6 + { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC10x8 + { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC10x10 + { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC12x10 + { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // ASTC12x12 { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // Unknown { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // R1 { wgpu::TextureFormat::Undefined, wgpu::TextureFormat::Undefined }, // A8