diff --git a/bindings/bf/bgfx.bf b/bindings/bf/bgfx.bf
index 005c00f90..983a40125 100644
--- a/bindings/bf/bgfx.bf
+++ b/bindings/bf/bgfx.bf
@@ -1628,6 +1628,26 @@ public static class bgfx
///
ETC2A1,
+ ///
+ /// EAC R11 UNORM
+ ///
+ EACR11,
+
+ ///
+ /// EAC R11 SNORM
+ ///
+ EACR11S,
+
+ ///
+ /// EAC RG11 UNORM
+ ///
+ EACRG11,
+
+ ///
+ /// EAC RG11 SNORM
+ ///
+ EACRG11S,
+
///
/// PVRTC1 RGB 2BPP
///
@@ -2137,7 +2157,7 @@ public static class bgfx
public uint8 numGPUs;
public GPU[4] gpu;
public Limits limits;
- public uint16[96] formats;
+ public uint16[100] formats;
}
[CRepr]
diff --git a/bindings/c3/bgfx.c3 b/bindings/c3/bgfx.c3
index 9ea22ca84..2d1ccac08 100644
--- a/bindings/c3/bgfx.c3
+++ b/bindings/c3/bgfx.c3
@@ -1027,6 +1027,18 @@ enum TextureFormat : uint
// ETC2 RGB8A1
ETC2A1,
+ // EAC R11 UNORM
+ EACR11,
+
+ // EAC R11 SNORM
+ EACR11S,
+
+ // EAC RG11 UNORM
+ EACRG11,
+
+ // EAC RG11 SNORM
+ EACRG11S,
+
// PVRTC1 RGB 2BPP
PTC12,
@@ -1461,7 +1473,7 @@ struct Caps
// - `BGFX_CAPS_FORMAT_TEXTURE_MSAA` - Texture can be sampled as MSAA.
// - `BGFX_CAPS_FORMAT_TEXTURE_MIP_AUTOGEN` - Texture format supports auto-generated
// mips.
- ushort[96] formats;
+ ushort[100] formats;
}
// Internal data.
diff --git a/bindings/cs/bgfx.cs b/bindings/cs/bgfx.cs
index ee0f5286a..cfd86ef68 100644
--- a/bindings/cs/bgfx.cs
+++ b/bindings/cs/bgfx.cs
@@ -1621,6 +1621,26 @@ public static partial class bgfx
///
ETC2A1,
+ ///
+ /// EAC R11 UNORM
+ ///
+ EACR11,
+
+ ///
+ /// EAC R11 SNORM
+ ///
+ EACR11S,
+
+ ///
+ /// EAC RG11 UNORM
+ ///
+ EACRG11,
+
+ ///
+ /// EAC RG11 SNORM
+ ///
+ EACRG11S,
+
///
/// PVRTC1 RGB 2BPP
///
@@ -2116,7 +2136,7 @@ public static partial class bgfx
public byte numGPUs;
public fixed uint gpu[4];
public Limits limits;
- public fixed ushort formats[96];
+ public fixed ushort formats[100];
}
public unsafe struct InternalData
diff --git a/bindings/d/impl.d b/bindings/d/impl.d
index 08c09a7d3..e373d6790 100644
--- a/bindings/d/impl.d
+++ b/bindings/d/impl.d
@@ -46,7 +46,7 @@ extern(C++, "bgfx") package final abstract class AttribType{
}
extern(C++, "bgfx") package final abstract class TextureFormat{
enum Enum{
- bc1,bc2,bc3,bc4,bc5,bc6h,bc7,etc1,etc2,etc2a,etc2a1,ptc12,ptc14,ptc12a,ptc14a,ptc22,ptc24,atc,atce,atci,astc4x4,astc5x4,astc5x5,astc6x5,astc6x6,astc8x5,astc8x6,astc8x8,astc10x5,astc10x6,astc10x8,astc10x10,astc12x10,astc12x12,unknown,r1,a8,r8,r8i,r8u,r8s,r16,r16i,r16u,r16f,r16s,r32i,r32u,r32f,rg8,rg8i,rg8u,rg8s,rg16,rg16i,rg16u,rg16f,rg16s,rg32i,rg32u,rg32f,rgb8,rgb8i,rgb8u,rgb8s,rgb9e5f,bgra8,rgba8,rgba8i,rgba8u,rgba8s,rgba16,rgba16i,rgba16u,rgba16f,rgba16s,rgba32i,rgba32u,rgba32f,b5g6r5,r5g6b5,bgra4,rgba4,bgr5a1,rgb5a1,rgb10a2,rg11b10f,unknownDepth,d16,d24,d24s8,d32,d16f,d24f,d32f,d0s8,count
+ bc1,bc2,bc3,bc4,bc5,bc6h,bc7,etc1,etc2,etc2a,etc2a1,eacr11,eacr11s,eacrg11,eacrg11s,ptc12,ptc14,ptc12a,ptc14a,ptc22,ptc24,atc,atce,atci,astc4x4,astc5x4,astc5x5,astc6x5,astc6x6,astc8x5,astc8x6,astc8x8,astc10x5,astc10x6,astc10x8,astc10x10,astc12x10,astc12x12,unknown,r1,a8,r8,r8i,r8u,r8s,r16,r16i,r16u,r16f,r16s,r32i,r32u,r32f,rg8,rg8i,rg8u,rg8s,rg16,rg16i,rg16u,rg16f,rg16s,rg32i,rg32u,rg32f,rgb8,rgb8i,rgb8u,rgb8s,rgb9e5f,bgra8,rgba8,rgba8i,rgba8u,rgba8s,rgba16,rgba16i,rgba16u,rgba16f,rgba16s,rgba32i,rgba32u,rgba32f,b5g6r5,r5g6b5,bgra4,rgba4,bgr5a1,rgb5a1,rgb10a2,rg11b10f,unknownDepth,d16,d24,d24s8,d32,d16f,d24f,d32f,d0s8,count
}
}
extern(C++, "bgfx") package final abstract class UniformType{
diff --git a/bindings/d/package.d b/bindings/d/package.d
index 34ad90ac0..41b13aa85 100644
--- a/bindings/d/package.d
+++ b/bindings/d/package.d
@@ -9,7 +9,7 @@ import bindbc.common.types: c_int64, c_uint64, va_list;
import bindbc.bgfx.config;
static import bgfx.impl;
-enum uint apiVersion = 134;
+enum uint apiVersion = 135;
alias ViewID = ushort;
@@ -673,6 +673,10 @@ enum TextureFormat: bgfx.impl.TextureFormat.Enum{
etc2 = bgfx.impl.TextureFormat.Enum.etc2,
etc2a = bgfx.impl.TextureFormat.Enum.etc2a,
etc2a1 = bgfx.impl.TextureFormat.Enum.etc2a1,
+ eacr11 = bgfx.impl.TextureFormat.Enum.eacr11,
+ eacr11s = bgfx.impl.TextureFormat.Enum.eacr11s,
+ eacrg11 = bgfx.impl.TextureFormat.Enum.eacrg11,
+ eacrg11s = bgfx.impl.TextureFormat.Enum.eacrg11s,
ptc12 = bgfx.impl.TextureFormat.Enum.ptc12,
ptc14 = bgfx.impl.TextureFormat.Enum.ptc14,
ptc12a = bgfx.impl.TextureFormat.Enum.ptc12a,
diff --git a/bindings/zig/bgfx.zig b/bindings/zig/bgfx.zig
index e1157755a..95933f7d6 100644
--- a/bindings/zig/bgfx.zig
+++ b/bindings/zig/bgfx.zig
@@ -994,6 +994,18 @@ pub const TextureFormat = enum(c_int) {
/// ETC2 RGB8A1
ETC2A1,
+ /// EAC R11 UNORM
+ EACR11,
+
+ /// EAC R11 SNORM
+ EACR11S,
+
+ /// EAC RG11 UNORM
+ EACRG11,
+
+ /// EAC RG11 SNORM
+ EACRG11S,
+
/// PVRTC1 RGB 2BPP
PTC12,
@@ -1351,7 +1363,7 @@ pub const Caps = extern struct {
numGPUs: u8,
gpu: [4]GPU,
limits: Limits,
- formats: [96]u16,
+ formats: [100]u16,
};
pub const InternalData = extern struct {
diff --git a/include/bgfx/bgfx.h b/include/bgfx/bgfx.h
index e570926bd..7d833e72b 100644
--- a/include/bgfx/bgfx.h
+++ b/include/bgfx/bgfx.h
@@ -170,6 +170,10 @@ namespace bgfx
ETC2, //!< ETC2 RGB8
ETC2A, //!< ETC2 RGBA8
ETC2A1, //!< ETC2 RGB8A1
+ EACR11, //!< EAC R11 UNORM
+ EACR11S, //!< EAC R11 SNORM
+ EACRG11, //!< EAC RG11 UNORM
+ EACRG11S, //!< EAC RG11 SNORM
PTC12, //!< PVRTC1 RGB 2BPP
PTC14, //!< PVRTC1 RGB 4BPP
PTC12A, //!< PVRTC1 RGBA 2BPP
diff --git a/include/bgfx/c99/bgfx.h b/include/bgfx/c99/bgfx.h
index 71a5b2da9..585407afa 100644
--- a/include/bgfx/c99/bgfx.h
+++ b/include/bgfx/c99/bgfx.h
@@ -182,91 +182,95 @@ typedef enum bgfx_texture_format
BGFX_TEXTURE_FORMAT_ETC2, /** ( 8) ETC2 RGB8 */
BGFX_TEXTURE_FORMAT_ETC2A, /** ( 9) ETC2 RGBA8 */
BGFX_TEXTURE_FORMAT_ETC2A1, /** (10) ETC2 RGB8A1 */
- BGFX_TEXTURE_FORMAT_PTC12, /** (11) PVRTC1 RGB 2BPP */
- BGFX_TEXTURE_FORMAT_PTC14, /** (12) PVRTC1 RGB 4BPP */
- BGFX_TEXTURE_FORMAT_PTC12A, /** (13) PVRTC1 RGBA 2BPP */
- BGFX_TEXTURE_FORMAT_PTC14A, /** (14) PVRTC1 RGBA 4BPP */
- BGFX_TEXTURE_FORMAT_PTC22, /** (15) PVRTC2 RGBA 2BPP */
- BGFX_TEXTURE_FORMAT_PTC24, /** (16) PVRTC2 RGBA 4BPP */
- BGFX_TEXTURE_FORMAT_ATC, /** (17) ATC RGB 4BPP */
- 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_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_EACR11, /** (11) EAC R11 UNORM */
+ BGFX_TEXTURE_FORMAT_EACR11S, /** (12) EAC R11 SNORM */
+ BGFX_TEXTURE_FORMAT_EACRG11, /** (13) EAC RG11 UNORM */
+ BGFX_TEXTURE_FORMAT_EACRG11S, /** (14) EAC RG11 SNORM */
+ BGFX_TEXTURE_FORMAT_PTC12, /** (15) PVRTC1 RGB 2BPP */
+ BGFX_TEXTURE_FORMAT_PTC14, /** (16) PVRTC1 RGB 4BPP */
+ BGFX_TEXTURE_FORMAT_PTC12A, /** (17) PVRTC1 RGBA 2BPP */
+ BGFX_TEXTURE_FORMAT_PTC14A, /** (18) PVRTC1 RGBA 4BPP */
+ BGFX_TEXTURE_FORMAT_PTC22, /** (19) PVRTC2 RGBA 2BPP */
+ BGFX_TEXTURE_FORMAT_PTC24, /** (20) PVRTC2 RGBA 4BPP */
+ BGFX_TEXTURE_FORMAT_ATC, /** (21) ATC RGB 4BPP */
+ BGFX_TEXTURE_FORMAT_ATCE, /** (22) ATCE RGBA 8 BPP explicit alpha */
+ BGFX_TEXTURE_FORMAT_ATCI, /** (23) ATCI RGBA 8 BPP interpolated alpha */
+ BGFX_TEXTURE_FORMAT_ASTC4X4, /** (24) ASTC 4x4 8.0 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC5X4, /** (25) ASTC 5x4 6.40 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC5X5, /** (26) ASTC 5x5 5.12 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC6X5, /** (27) ASTC 6x5 4.27 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC6X6, /** (28) ASTC 6x6 3.56 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC8X5, /** (29) ASTC 8x5 3.20 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC8X6, /** (30) ASTC 8x6 2.67 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC8X8, /** (31) ASTC 8x8 2.00 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC10X5, /** (32) ASTC 10x5 2.56 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC10X6, /** (33) ASTC 10x6 2.13 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC10X8, /** (34) ASTC 10x8 1.60 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC10X10, /** (35) ASTC 10x10 1.28 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC12X10, /** (36) ASTC 12x10 1.07 BPP */
+ BGFX_TEXTURE_FORMAT_ASTC12X12, /** (37) ASTC 12x12 0.89 BPP */
+ BGFX_TEXTURE_FORMAT_UNKNOWN, /** (38) Compressed formats above. */
+ BGFX_TEXTURE_FORMAT_R1, /** (39) */
+ BGFX_TEXTURE_FORMAT_A8, /** (40) */
+ BGFX_TEXTURE_FORMAT_R8, /** (41) */
+ BGFX_TEXTURE_FORMAT_R8I, /** (42) */
+ BGFX_TEXTURE_FORMAT_R8U, /** (43) */
+ BGFX_TEXTURE_FORMAT_R8S, /** (44) */
+ BGFX_TEXTURE_FORMAT_R16, /** (45) */
+ BGFX_TEXTURE_FORMAT_R16I, /** (46) */
+ BGFX_TEXTURE_FORMAT_R16U, /** (47) */
+ BGFX_TEXTURE_FORMAT_R16F, /** (48) */
+ BGFX_TEXTURE_FORMAT_R16S, /** (49) */
+ BGFX_TEXTURE_FORMAT_R32I, /** (50) */
+ BGFX_TEXTURE_FORMAT_R32U, /** (51) */
+ BGFX_TEXTURE_FORMAT_R32F, /** (52) */
+ BGFX_TEXTURE_FORMAT_RG8, /** (53) */
+ BGFX_TEXTURE_FORMAT_RG8I, /** (54) */
+ BGFX_TEXTURE_FORMAT_RG8U, /** (55) */
+ BGFX_TEXTURE_FORMAT_RG8S, /** (56) */
+ BGFX_TEXTURE_FORMAT_RG16, /** (57) */
+ BGFX_TEXTURE_FORMAT_RG16I, /** (58) */
+ BGFX_TEXTURE_FORMAT_RG16U, /** (59) */
+ BGFX_TEXTURE_FORMAT_RG16F, /** (60) */
+ BGFX_TEXTURE_FORMAT_RG16S, /** (61) */
+ BGFX_TEXTURE_FORMAT_RG32I, /** (62) */
+ BGFX_TEXTURE_FORMAT_RG32U, /** (63) */
+ BGFX_TEXTURE_FORMAT_RG32F, /** (64) */
+ BGFX_TEXTURE_FORMAT_RGB8, /** (65) */
+ BGFX_TEXTURE_FORMAT_RGB8I, /** (66) */
+ BGFX_TEXTURE_FORMAT_RGB8U, /** (67) */
+ BGFX_TEXTURE_FORMAT_RGB8S, /** (68) */
+ BGFX_TEXTURE_FORMAT_RGB9E5F, /** (69) */
+ BGFX_TEXTURE_FORMAT_BGRA8, /** (70) */
+ BGFX_TEXTURE_FORMAT_RGBA8, /** (71) */
+ BGFX_TEXTURE_FORMAT_RGBA8I, /** (72) */
+ BGFX_TEXTURE_FORMAT_RGBA8U, /** (73) */
+ BGFX_TEXTURE_FORMAT_RGBA8S, /** (74) */
+ BGFX_TEXTURE_FORMAT_RGBA16, /** (75) */
+ BGFX_TEXTURE_FORMAT_RGBA16I, /** (76) */
+ BGFX_TEXTURE_FORMAT_RGBA16U, /** (77) */
+ BGFX_TEXTURE_FORMAT_RGBA16F, /** (78) */
+ BGFX_TEXTURE_FORMAT_RGBA16S, /** (79) */
+ BGFX_TEXTURE_FORMAT_RGBA32I, /** (80) */
+ BGFX_TEXTURE_FORMAT_RGBA32U, /** (81) */
+ BGFX_TEXTURE_FORMAT_RGBA32F, /** (82) */
+ BGFX_TEXTURE_FORMAT_B5G6R5, /** (83) */
+ BGFX_TEXTURE_FORMAT_R5G6B5, /** (84) */
+ BGFX_TEXTURE_FORMAT_BGRA4, /** (85) */
+ BGFX_TEXTURE_FORMAT_RGBA4, /** (86) */
+ BGFX_TEXTURE_FORMAT_BGR5A1, /** (87) */
+ BGFX_TEXTURE_FORMAT_RGB5A1, /** (88) */
+ BGFX_TEXTURE_FORMAT_RGB10A2, /** (89) */
+ BGFX_TEXTURE_FORMAT_RG11B10F, /** (90) */
+ BGFX_TEXTURE_FORMAT_UNKNOWNDEPTH, /** (91) Depth formats below. */
+ BGFX_TEXTURE_FORMAT_D16, /** (92) */
+ BGFX_TEXTURE_FORMAT_D24, /** (93) */
+ BGFX_TEXTURE_FORMAT_D24S8, /** (94) */
+ BGFX_TEXTURE_FORMAT_D32, /** (95) */
+ BGFX_TEXTURE_FORMAT_D16F, /** (96) */
+ BGFX_TEXTURE_FORMAT_D24F, /** (97) */
+ BGFX_TEXTURE_FORMAT_D32F, /** (98) */
+ BGFX_TEXTURE_FORMAT_D0S8, /** (99) */
BGFX_TEXTURE_FORMAT_COUNT
diff --git a/include/bgfx/defines.h b/include/bgfx/defines.h
index b74c6534e..923c27301 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(134)
+#define BGFX_API_VERSION UINT32_C(135)
/**
* 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 e3e4f4a20..c8212c5ed 100644
--- a/scripts/bgfx.idl
+++ b/scripts/bgfx.idl
@@ -1,7 +1,7 @@
-- vim: syntax=lua
-- bgfx interface
-version(134)
+version(135)
typedef "bool"
typedef "char"
@@ -535,6 +535,10 @@ enum.TextureFormat { comment = "Texture formats:" }
.ETC2 --- ETC2 RGB8
.ETC2A --- ETC2 RGBA8
.ETC2A1 --- ETC2 RGB8A1
+ .EACR11 --- EAC R11 UNORM
+ .EACR11S --- EAC R11 SNORM
+ .EACRG11 --- EAC RG11 UNORM
+ .EACRG11S --- EAC RG11 SNORM
.PTC12 --- PVRTC1 RGB 2BPP
.PTC14 --- PVRTC1 RGB 4BPP
.PTC12A --- PVRTC1 RGBA 2BPP
diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp
index 661161a4d..a3b34a5ac 100644
--- a/src/renderer_d3d11.cpp
+++ b/src/renderer_d3d11.cpp
@@ -214,6 +214,10 @@ namespace bgfx { namespace d3d11
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // ETC2
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // ETC2A
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // ETC2A1
+ { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // EACR11 UNORM
+ { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // EACR11 SNORM
+ { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // EACRG11 UNORM
+ { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // EACRG11 SNORM
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // PTC12
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // PTC14
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN }, // PTC12A
diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp
index a4f0166be..d9fc05758 100644
--- a/src/renderer_d3d12.cpp
+++ b/src/renderer_d3d12.cpp
@@ -216,6 +216,10 @@ namespace bgfx { namespace d3d12
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ETC2
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ETC2A
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // ETC2A1
+ { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // EACR11 UNORM
+ { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // EACR11 SNORM
+ { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // EACRG11 UNORM
+ { DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // EACRG11 SNORM
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // PTC12
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // PTC14
{ DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, DXGI_FORMAT_UNKNOWN, D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING }, // PTC12A
diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp
index d52269f51..cca290ca1 100644
--- a/src/renderer_gl.cpp
+++ b/src/renderer_gl.cpp
@@ -227,6 +227,10 @@ namespace bgfx { namespace gl
{ GL_COMPRESSED_RGB8_ETC2, GL_ZERO, GL_COMPRESSED_RGB8_ETC2, GL_COMPRESSED_RGB8_ETC2, GL_ZERO, false, { $_, $_, $_, $_ } }, // ETC2
{ GL_COMPRESSED_RGBA8_ETC2_EAC, GL_COMPRESSED_SRGB8_ETC2, GL_COMPRESSED_RGBA8_ETC2_EAC, GL_COMPRESSED_RGBA8_ETC2_EAC, GL_ZERO, false, { $_, $_, $_, $_ } }, // ETC2A
{ GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, GL_ZERO, false, { $_, $_, $_, $_ } }, // ETC2A1
+ { GL_COMPRESSED_R11_EAC, GL_ZERO, GL_COMPRESSED_R11_EAC, GL_COMPRESSED_R11_EAC, GL_ZERO, false, { $_, $_, $_, $_ } }, // EACR11 UNORM
+ { GL_COMPRESSED_SIGNED_R11_EAC, GL_ZERO, GL_COMPRESSED_SIGNED_R11_EAC, GL_COMPRESSED_SIGNED_R11_EAC, GL_ZERO, false, { $_, $_, $_, $_ } }, // EACR11 SNORM
+ { GL_COMPRESSED_RG11_EAC, GL_ZERO, GL_COMPRESSED_RG11_EAC, GL_COMPRESSED_RG11_EAC, GL_ZERO, false, { $_, $_, $_, $_ } }, // EACRG11 UNORM
+ { GL_COMPRESSED_SIGNED_RG11_EAC, GL_ZERO, GL_COMPRESSED_SIGNED_RG11_EAC, GL_COMPRESSED_SIGNED_RG11_EAC, GL_ZERO, false, { $_, $_, $_, $_ } }, // EACRG11 SNORM
{ GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT, GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, GL_ZERO, false, { $_, $_, $_, $_ } }, // PTC12
{ GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, GL_ZERO, false, { $_, $_, $_, $_ } }, // PTC14
{ GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT, GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, GL_ZERO, false, { $_, $_, $_, $_ } }, // PTC12A
@@ -337,6 +341,10 @@ namespace bgfx { namespace gl
GL_ZERO, // ETC2
GL_ZERO, // ETC2A
GL_ZERO, // ETC2A1
+ GL_ZERO, // EACR11 UNORM
+ GL_ZERO, // EACR11 SNORM
+ GL_ZERO, // EACRG11 UNORM
+ GL_ZERO, // EACRG11 SNORM
GL_ZERO, // PTC12
GL_ZERO, // PTC14
GL_ZERO, // PTC12A
@@ -438,6 +446,10 @@ namespace bgfx { namespace gl
GL_ZERO, // ETC2
GL_ZERO, // ETC2A
GL_ZERO, // ETC2A1
+ GL_ZERO, // EACR11 UNORM
+ GL_ZERO, // EACR11 SNORM
+ GL_ZERO, // EACRG11 UNORM
+ GL_ZERO, // EACRG11 SNORM
GL_ZERO, // PTC12
GL_ZERO, // PTC14
GL_ZERO, // PTC12A
diff --git a/src/renderer_gl.h b/src/renderer_gl.h
index 142bd4570..338418c32 100644
--- a/src/renderer_gl.h
+++ b/src/renderer_gl.h
@@ -421,6 +421,22 @@ typedef uint64_t GLuint64;
# define GL_ETC1_RGB8_OES 0x8D64
#endif // GL_ETC1_RGB8_OES
+#ifndef GL_COMPRESSED_R11_EAC
+# define GL_COMPRESSED_R11_EAC 0x9270
+#endif // GL_COMPRESSED_R11_EAC
+
+#ifndef GL_COMPRESSED_SIGNED_R11_EAC
+# define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
+#endif // GL_COMPRESSED_SIGNED_R11_EAC
+
+#ifndef GL_COMPRESSED_RG11_EAC
+# define GL_COMPRESSED_RG11_EAC 0x9272
+#endif // GL_COMPRESSED_RG11_EAC
+
+#ifndef GL_COMPRESSED_SIGNED_RG11_EAC
+# define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
+#endif // GL_COMPRESSED_SIGNED_RG11_EAC
+
#ifndef GL_COMPRESSED_RGB8_ETC2
# define GL_COMPRESSED_RGB8_ETC2 0x9274
#endif // GL_COMPRESSED_RGB8_ETC2
diff --git a/src/renderer_mtl.mm b/src/renderer_mtl.mm
index c7f472b39..4f9c44281 100644
--- a/src/renderer_mtl.mm
+++ b/src/renderer_mtl.mm
@@ -239,6 +239,10 @@ BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG("-Wunguarded-availability-new");
{ kMtlPixelFormatETC2_RGB8, kMtlPixelFormatETC2_RGB8_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ETC2
{ kMtlPixelFormatEAC_RGBA8, kMtlPixelFormatEAC_RGBA8_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ETC2A
{ kMtlPixelFormatETC2_RGB8A1, kMtlPixelFormatETC2_RGB8A1_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // ETC2A1
+ { kMtlPixelFormatEAC_R11Unorm, kMtlPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // EACR11 UNORM
+ { kMtlPixelFormatEAC_R11Snorm, kMtlPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // EACR11 SNORM
+ { kMtlPixelFormatEAC_RG11Unorm, kMtlPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // EACRG11 UNORM
+ { kMtlPixelFormatEAC_RG11Snorm, kMtlPixelFormatInvalid, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // EACRG11 SNORM
{ kMtlPixelFormatPVRTC_RGB_2BPP, kMtlPixelFormatPVRTC_RGB_2BPP_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // PTC12
{ kMtlPixelFormatPVRTC_RGB_4BPP, kMtlPixelFormatPVRTC_RGB_4BPP_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // PTC14
{ kMtlPixelFormatPVRTC_RGBA_2BPP, kMtlPixelFormatPVRTC_RGBA_2BPP_sRGB, MTLReadWriteTextureTierNone, { $R, $G, $B, $A }, false }, // PTC12A
diff --git a/src/renderer_vk.cpp b/src/renderer_vk.cpp
index e90745c88..63de6f540 100644
--- a/src/renderer_vk.cpp
+++ b/src/renderer_vk.cpp
@@ -196,6 +196,10 @@ VK_IMPORT_DEVICE
{ VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ETC2
{ VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ETC2A
{ VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, { $_, $_, $_, $_ } }, // ETC2A1
+ { VK_FORMAT_EAC_R11_UNORM_BLOCK, VK_FORMAT_EAC_R11_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // EACR11
+ { VK_FORMAT_EAC_R11_SNORM_BLOCK, VK_FORMAT_EAC_R11_SNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // EACR11S
+ { VK_FORMAT_EAC_R11G11_UNORM_BLOCK, VK_FORMAT_EAC_R11G11_UNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // EACRG11
+ { VK_FORMAT_EAC_R11G11_SNORM_BLOCK, VK_FORMAT_EAC_R11G11_SNORM_BLOCK, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // EACRG11S
{ VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // PTC12
{ VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // PTC14
{ VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, VK_FORMAT_UNDEFINED, { $_, $_, $_, $_ } }, // PTC12A