Add support for remaining unsupported ASTC formats (#2963)

* Add support for remaining unsupported ASTC formats
Add new ASTC formats into pixelformats example and ninja scripts
Rebuild ASTC textures

* Update idl and generate
Move comma in pixelformats

Co-authored-by: Raziel Alphadios <raziely@gmail.com>
This commit is contained in:
Raziel Alphadios
2022-10-26 03:03:40 +03:00
committed by GitHub
parent 000d09d980
commit c2bc5177b5
34 changed files with 449 additions and 145 deletions

View File

@@ -1678,11 +1678,21 @@ public static class bgfx
/// </summary>
ASTC4x4,
/// <summary>
/// ASTC 5x4 6.40 BPP
/// </summary>
ASTC5x4,
/// <summary>
/// ASTC 5x5 5.12 BPP
/// </summary>
ASTC5x5,
/// <summary>
/// ASTC 6x5 4.27 BPP
/// </summary>
ASTC6x5,
/// <summary>
/// ASTC 6x6 3.56 BPP
/// </summary>
@@ -1698,11 +1708,41 @@ public static class bgfx
/// </summary>
ASTC8x6,
/// <summary>
/// ASTC 8x8 2.00 BPP
/// </summary>
ASTC8x8,
/// <summary>
/// ASTC 10x5 2.56 BPP
/// </summary>
ASTC10x5,
/// <summary>
/// ASTC 10x6 2.13 BPP
/// </summary>
ASTC10x6,
/// <summary>
/// ASTC 10x8 1.60 BPP
/// </summary>
ASTC10x8,
/// <summary>
/// ASTC 10x10 1.28 BPP
/// </summary>
ASTC10x10,
/// <summary>
/// ASTC 12x10 1.07 BPP
/// </summary>
ASTC12x10,
/// <summary>
/// ASTC 12x12 0.89 BPP
/// </summary>
ASTC12x12,
/// <summary>
/// Compressed formats above.
/// </summary>
@@ -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]

View File

@@ -1671,11 +1671,21 @@ public static partial class bgfx
/// </summary>
ASTC4x4,
/// <summary>
/// ASTC 5x4 6.40 BPP
/// </summary>
ASTC5x4,
/// <summary>
/// ASTC 5x5 5.12 BPP
/// </summary>
ASTC5x5,
/// <summary>
/// ASTC 6x5 4.27 BPP
/// </summary>
ASTC6x5,
/// <summary>
/// ASTC 6x6 3.56 BPP
/// </summary>
@@ -1691,11 +1701,41 @@ public static partial class bgfx
/// </summary>
ASTC8x6,
/// <summary>
/// ASTC 8x8 2.00 BPP
/// </summary>
ASTC8x8,
/// <summary>
/// ASTC 10x5 2.56 BPP
/// </summary>
ASTC10x5,
/// <summary>
/// ASTC 10x6 2.13 BPP
/// </summary>
ASTC10x6,
/// <summary>
/// ASTC 10x8 1.60 BPP
/// </summary>
ASTC10x8,
/// <summary>
/// ASTC 10x10 1.28 BPP
/// </summary>
ASTC10x10,
/// <summary>
/// ASTC 12x10 1.07 BPP
/// </summary>
ASTC12x10,
/// <summary>
/// ASTC 12x12 0.89 BPP
/// </summary>
ASTC12x12,
/// <summary>
/// Compressed formats above.
/// </summary>
@@ -2027,7 +2067,7 @@ public static partial class bgfx
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

View File

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

View File

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