@@ -1796,8 +1796,10 @@ typedef enum sg_pixel_format {
1796
1796
SG_PIXELFORMAT_ETC2_RGB8A1,
1797
1797
SG_PIXELFORMAT_ETC2_RGBA8,
1798
1798
SG_PIXELFORMAT_ETC2_SRGB8A8,
1799
- SG_PIXELFORMAT_ETC2_RG11,
1800
- SG_PIXELFORMAT_ETC2_RG11SN,
1799
+ SG_PIXELFORMAT_EAC_R11,
1800
+ SG_PIXELFORMAT_EAC_R11SN,
1801
+ SG_PIXELFORMAT_EAC_RG11,
1802
+ SG_PIXELFORMAT_EAC_RG11SN,
1801
1803
1802
1804
SG_PIXELFORMAT_ASTC_4x4_RGBA,
1803
1805
SG_PIXELFORMAT_ASTC_4x4_SRGBA,
@@ -4844,6 +4846,12 @@ inline int sg_append_buffer(sg_buffer buf_id, const sg_range& data) { return sg_
4844
4846
#ifndef GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
4845
4847
#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
4846
4848
#endif
4849
+ #ifndef GL_COMPRESSED_R11_EAC
4850
+ #define GL_COMPRESSED_R11_EAC 0x9270
4851
+ #endif
4852
+ #ifndef GL_COMPRESSED_SIGNED_R11_EAC
4853
+ #define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
4854
+ #endif
4847
4855
#ifndef GL_COMPRESSED_RG11_EAC
4848
4856
#define GL_COMPRESSED_RG11_EAC 0x9272
4849
4857
#endif
@@ -6218,8 +6226,10 @@ _SOKOL_PRIVATE bool _sg_is_compressed_pixel_format(sg_pixel_format fmt) {
6218
6226
case SG_PIXELFORMAT_ETC2_RGB8A1:
6219
6227
case SG_PIXELFORMAT_ETC2_RGBA8:
6220
6228
case SG_PIXELFORMAT_ETC2_SRGB8A8:
6221
- case SG_PIXELFORMAT_ETC2_RG11:
6222
- case SG_PIXELFORMAT_ETC2_RG11SN:
6229
+ case SG_PIXELFORMAT_EAC_R11:
6230
+ case SG_PIXELFORMAT_EAC_R11SN:
6231
+ case SG_PIXELFORMAT_EAC_RG11:
6232
+ case SG_PIXELFORMAT_EAC_RG11SN:
6223
6233
case SG_PIXELFORMAT_ASTC_4x4_RGBA:
6224
6234
case SG_PIXELFORMAT_ASTC_4x4_SRGBA:
6225
6235
return true;
@@ -6347,6 +6357,8 @@ _SOKOL_PRIVATE int _sg_row_pitch(sg_pixel_format fmt, int width, int row_align)
6347
6357
case SG_PIXELFORMAT_ETC2_RGB8:
6348
6358
case SG_PIXELFORMAT_ETC2_SRGB8:
6349
6359
case SG_PIXELFORMAT_ETC2_RGB8A1:
6360
+ case SG_PIXELFORMAT_EAC_R11:
6361
+ case SG_PIXELFORMAT_EAC_R11SN:
6350
6362
pitch = ((width + 3) / 4) * 8;
6351
6363
pitch = pitch < 8 ? 8 : pitch;
6352
6364
break;
@@ -6361,8 +6373,8 @@ _SOKOL_PRIVATE int _sg_row_pitch(sg_pixel_format fmt, int width, int row_align)
6361
6373
case SG_PIXELFORMAT_BC7_SRGBA:
6362
6374
case SG_PIXELFORMAT_ETC2_RGBA8:
6363
6375
case SG_PIXELFORMAT_ETC2_SRGB8A8:
6364
- case SG_PIXELFORMAT_ETC2_RG11 :
6365
- case SG_PIXELFORMAT_ETC2_RG11SN :
6376
+ case SG_PIXELFORMAT_EAC_RG11 :
6377
+ case SG_PIXELFORMAT_EAC_RG11SN :
6366
6378
case SG_PIXELFORMAT_ASTC_4x4_RGBA:
6367
6379
case SG_PIXELFORMAT_ASTC_4x4_SRGBA:
6368
6380
pitch = ((width + 3) / 4) * 16;
@@ -6396,8 +6408,10 @@ _SOKOL_PRIVATE int _sg_num_rows(sg_pixel_format fmt, int height) {
6396
6408
case SG_PIXELFORMAT_ETC2_RGB8A1:
6397
6409
case SG_PIXELFORMAT_ETC2_RGBA8:
6398
6410
case SG_PIXELFORMAT_ETC2_SRGB8A8:
6399
- case SG_PIXELFORMAT_ETC2_RG11:
6400
- case SG_PIXELFORMAT_ETC2_RG11SN:
6411
+ case SG_PIXELFORMAT_EAC_R11:
6412
+ case SG_PIXELFORMAT_EAC_R11SN:
6413
+ case SG_PIXELFORMAT_EAC_RG11:
6414
+ case SG_PIXELFORMAT_EAC_RG11SN:
6401
6415
case SG_PIXELFORMAT_BC2_RGBA:
6402
6416
case SG_PIXELFORMAT_BC3_RGBA:
6403
6417
case SG_PIXELFORMAT_BC3_SRGBA:
@@ -7319,9 +7333,13 @@ _SOKOL_PRIVATE GLenum _sg_gl_teximage_format(sg_pixel_format fmt) {
7319
7333
return GL_COMPRESSED_RGBA8_ETC2_EAC;
7320
7334
case SG_PIXELFORMAT_ETC2_SRGB8A8:
7321
7335
return GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC;
7322
- case SG_PIXELFORMAT_ETC2_RG11:
7336
+ case SG_PIXELFORMAT_EAC_R11:
7337
+ return GL_COMPRESSED_R11_EAC;
7338
+ case SG_PIXELFORMAT_EAC_R11SN:
7339
+ return GL_COMPRESSED_SIGNED_R11_EAC;
7340
+ case SG_PIXELFORMAT_EAC_RG11:
7323
7341
return GL_COMPRESSED_RG11_EAC;
7324
- case SG_PIXELFORMAT_ETC2_RG11SN :
7342
+ case SG_PIXELFORMAT_EAC_RG11SN :
7325
7343
return GL_COMPRESSED_SIGNED_RG11_EAC;
7326
7344
case SG_PIXELFORMAT_ASTC_4x4_RGBA:
7327
7345
return GL_COMPRESSED_RGBA_ASTC_4x4_KHR;
@@ -7403,8 +7421,10 @@ _SOKOL_PRIVATE GLenum _sg_gl_teximage_internal_format(sg_pixel_format fmt) {
7403
7421
case SG_PIXELFORMAT_ETC2_RGB8A1: return GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2;
7404
7422
case SG_PIXELFORMAT_ETC2_RGBA8: return GL_COMPRESSED_RGBA8_ETC2_EAC;
7405
7423
case SG_PIXELFORMAT_ETC2_SRGB8A8: return GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC;
7406
- case SG_PIXELFORMAT_ETC2_RG11: return GL_COMPRESSED_RG11_EAC;
7407
- case SG_PIXELFORMAT_ETC2_RG11SN: return GL_COMPRESSED_SIGNED_RG11_EAC;
7424
+ case SG_PIXELFORMAT_EAC_R11: return GL_COMPRESSED_R11_EAC;
7425
+ case SG_PIXELFORMAT_EAC_R11SN: return GL_COMPRESSED_SIGNED_R11_EAC;
7426
+ case SG_PIXELFORMAT_EAC_RG11: return GL_COMPRESSED_RG11_EAC;
7427
+ case SG_PIXELFORMAT_EAC_RG11SN: return GL_COMPRESSED_SIGNED_RG11_EAC;
7408
7428
case SG_PIXELFORMAT_ASTC_4x4_RGBA: return GL_COMPRESSED_RGBA_ASTC_4x4_KHR;
7409
7429
case SG_PIXELFORMAT_ASTC_4x4_SRGBA: return GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR;
7410
7430
default: SOKOL_UNREACHABLE; return 0;
@@ -7549,8 +7569,10 @@ _SOKOL_PRIVATE void _sg_gl_init_pixelformats_etc2(void) {
7549
7569
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RGB8A1]);
7550
7570
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RGBA8]);
7551
7571
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_SRGB8A8]);
7552
- _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RG11]);
7553
- _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RG11SN]);
7572
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_R11]);
7573
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_R11SN]);
7574
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_RG11]);
7575
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_RG11SN]);
7554
7576
}
7555
7577
7556
7578
_SOKOL_PRIVATE void _sg_gl_init_pixelformats_astc(void) {
@@ -11638,8 +11660,10 @@ _SOKOL_PRIVATE MTLPixelFormat _sg_mtl_pixel_format(sg_pixel_format fmt) {
11638
11660
case SG_PIXELFORMAT_ETC2_RGB8A1: return MTLPixelFormatETC2_RGB8A1;
11639
11661
case SG_PIXELFORMAT_ETC2_RGBA8: return MTLPixelFormatEAC_RGBA8;
11640
11662
case SG_PIXELFORMAT_ETC2_SRGB8A8: return MTLPixelFormatEAC_RGBA8_sRGB;
11641
- case SG_PIXELFORMAT_ETC2_RG11: return MTLPixelFormatEAC_RG11Unorm;
11642
- case SG_PIXELFORMAT_ETC2_RG11SN: return MTLPixelFormatEAC_RG11Snorm;
11663
+ case SG_PIXELFORMAT_EAC_R11: return MTLPixelFormatEAC_R11Unorm;
11664
+ case SG_PIXELFORMAT_EAC_R11SN: return MTLPixelFormatEAC_R11Snorm;
11665
+ case SG_PIXELFORMAT_EAC_RG11: return MTLPixelFormatEAC_RG11Unorm;
11666
+ case SG_PIXELFORMAT_EAC_RG11SN: return MTLPixelFormatEAC_RG11Snorm;
11643
11667
case SG_PIXELFORMAT_ASTC_4x4_RGBA: return MTLPixelFormatASTC_4x4_LDR;
11644
11668
case SG_PIXELFORMAT_ASTC_4x4_SRGBA: return MTLPixelFormatASTC_4x4_sRGB;
11645
11669
#endif
@@ -12113,8 +12137,10 @@ _SOKOL_PRIVATE void _sg_mtl_init_caps(void) {
12113
12137
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RGB8A1]);
12114
12138
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RGBA8]);
12115
12139
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_SRGB8A8]);
12116
- _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RG11]);
12117
- _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RG11SN]);
12140
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_R11]);
12141
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_R11SN]);
12142
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_RG11]);
12143
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_RG11SN]);
12118
12144
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ASTC_4x4_RGBA]);
12119
12145
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ASTC_4x4_SRGBA]);
12120
12146
@@ -13518,8 +13544,10 @@ _SOKOL_PRIVATE WGPUTextureFormat _sg_wgpu_textureformat(sg_pixel_format p) {
13518
13544
case SG_PIXELFORMAT_ETC2_RGBA8: return WGPUTextureFormat_ETC2RGBA8Unorm;
13519
13545
case SG_PIXELFORMAT_ETC2_SRGB8: return WGPUTextureFormat_ETC2RGB8UnormSrgb;
13520
13546
case SG_PIXELFORMAT_ETC2_SRGB8A8: return WGPUTextureFormat_ETC2RGBA8UnormSrgb;
13521
- case SG_PIXELFORMAT_ETC2_RG11: return WGPUTextureFormat_EACR11Unorm;
13522
- case SG_PIXELFORMAT_ETC2_RG11SN: return WGPUTextureFormat_EACR11Snorm;
13547
+ case SG_PIXELFORMAT_EAC_R11: return WGPUTextureFormat_EACR11Unorm;
13548
+ case SG_PIXELFORMAT_EAC_R11SN: return WGPUTextureFormat_EACR11Snorm;
13549
+ case SG_PIXELFORMAT_EAC_RG11: return WGPUTextureFormat_EACRG11Unorm;
13550
+ case SG_PIXELFORMAT_EAC_RG11SN: return WGPUTextureFormat_EACRG11Snorm;
13523
13551
case SG_PIXELFORMAT_RGB9E5: return WGPUTextureFormat_RGB9E5Ufloat;
13524
13552
case SG_PIXELFORMAT_ASTC_4x4_RGBA: return WGPUTextureFormat_ASTC4x4Unorm;
13525
13553
case SG_PIXELFORMAT_ASTC_4x4_SRGBA: return WGPUTextureFormat_ASTC4x4UnormSrgb;
@@ -13758,8 +13786,10 @@ _SOKOL_PRIVATE void _sg_wgpu_init_caps(void) {
13758
13786
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RGB8A1]);
13759
13787
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RGBA8]);
13760
13788
_sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_SRGB8A8]);
13761
- _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RG11]);
13762
- _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_ETC2_RG11SN]);
13789
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_R11]);
13790
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_R11SN]);
13791
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_RG11]);
13792
+ _sg_pixelformat_sf(&_sg.formats[SG_PIXELFORMAT_EAC_RG11SN]);
13763
13793
}
13764
13794
13765
13795
if (wgpuDeviceHasFeature(_sg.wgpu.dev, WGPUFeatureName_TextureCompressionASTC)) {
0 commit comments