Added EAC texture formats. (#3487)

This commit is contained in:
Branimir Karadžić
2025-11-11 08:39:24 -08:00
committed by GitHub
parent 35911ac2d9
commit 9e8ecf4af4
16 changed files with 217 additions and 93 deletions

View File

@@ -1628,6 +1628,26 @@ public static class bgfx
/// </summary>
ETC2A1,
/// <summary>
/// EAC R11 UNORM
/// </summary>
EACR11,
/// <summary>
/// EAC R11 SNORM
/// </summary>
EACR11S,
/// <summary>
/// EAC RG11 UNORM
/// </summary>
EACRG11,
/// <summary>
/// EAC RG11 SNORM
/// </summary>
EACRG11S,
/// <summary>
/// PVRTC1 RGB 2BPP
/// </summary>
@@ -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]

View File

@@ -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.

View File

@@ -1621,6 +1621,26 @@ public static partial class bgfx
/// </summary>
ETC2A1,
/// <summary>
/// EAC R11 UNORM
/// </summary>
EACR11,
/// <summary>
/// EAC R11 SNORM
/// </summary>
EACR11S,
/// <summary>
/// EAC RG11 UNORM
/// </summary>
EACRG11,
/// <summary>
/// EAC RG11 SNORM
/// </summary>
EACRG11S,
/// <summary>
/// PVRTC1 RGB 2BPP
/// </summary>
@@ -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

View File

@@ -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{

View File

@@ -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,

View File

@@ -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 {