diff --git a/src/external/rl_gputex.h b/src/external/rl_gputex.h
index 29500f3cf..07a6c8d29 100644
--- a/src/external/rl_gputex.h
+++ b/src/external/rl_gputex.h
@@ -100,6 +100,7 @@ typedef enum {
RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha)
RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha)
RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, // 32 bpp
+ RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_B8G8R8A8, // 32 bpp
RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R32, // 32 bpp (1 channel - float)
RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R32G32B32, // 32*3 bpp (3 channels - float)
RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, // 32*4 bpp (4 channels - float)
@@ -810,6 +811,7 @@ void *rl_load_pvr_from_memory(const unsigned char *file_data, unsigned int file_
case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R5G6B5:
case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: bpp = 16; break;
case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: bpp = 32; break;
+ case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_B8G8R8A8: bpp = 32; break;
case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R8G8B8: bpp = 24; break;
case RL_GPUTEX_PIXELFORMAT_COMPRESSED_PVRT_RGB:
case RL_GPUTEX_PIXELFORMAT_COMPRESSED_PVRT_RGBA: bpp = 4; break;
@@ -913,6 +915,7 @@ static int get_pixel_data_size(int width, int height, int format)
case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1:
case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: bpp = 16; break;
case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: bpp = 32; break;
+ case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_B8G8R8A8: bpp = 32; break;
case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R8G8B8: bpp = 24; break;
case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R32: bpp = 32; break;
case RL_GPUTEX_PIXELFORMAT_UNCOMPRESSED_R32G32B32: bpp = 32*3; break;
diff --git a/src/platforms/rcore_desktop_rgfw.c b/src/platforms/rcore_desktop_rgfw.c
index da1bded6d..6d394e692 100644
--- a/src/platforms/rcore_desktop_rgfw.c
+++ b/src/platforms/rcore_desktop_rgfw.c
@@ -518,6 +518,7 @@ int RGFW_formatToChannels(int format)
case PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: // 16 bpp (1 bit alpha)
case PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: // 16 bpp (4 bit alpha)
case PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: // 32 bpp
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8: // 32 bpp
return 2;
case PIXELFORMAT_UNCOMPRESSED_R32G32B32: // 32*3 bpp (3 channels - float)
case PIXELFORMAT_UNCOMPRESSED_R16G16B16: // 16*3 bpp (3 channels - half float)
diff --git a/src/raylib.h b/src/raylib.h
index 5635546e0..80d17f4b6 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -843,6 +843,7 @@ typedef enum {
PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha)
PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha)
PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, // 32 bpp
+ PIXELFORMAT_UNCOMPRESSED_B8G8R8A8, // 32 bpp
PIXELFORMAT_UNCOMPRESSED_R32, // 32 bpp (1 channel - float)
PIXELFORMAT_UNCOMPRESSED_R32G32B32, // 32*3 bpp (3 channels - float)
PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, // 32*4 bpp (4 channels - float)
diff --git a/src/rlgl.h b/src/rlgl.h
index 884110c56..0b1a01b70 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -458,6 +458,7 @@ typedef enum {
RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha)
RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha)
RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, // 32 bpp
+ RL_PIXELFORMAT_UNCOMPRESSED_B8G8R8A8, // 32 bpp
RL_PIXELFORMAT_UNCOMPRESSED_R32, // 32 bpp (1 channel - float)
RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32, // 32*3 bpp (3 channels - float)
RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, // 32*4 bpp (4 channels - float)
@@ -3511,6 +3512,18 @@ void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int h
else TRACELOG(RL_LOG_WARNING, "TEXTURE: [ID %i] Failed to update for current texture format (%i)", id, format);
}
+#ifndef GL_BGRA8_EXT
+#define GL_BGRA8_EXT 0x93A1
+#endif
+
+#ifndef GL_BGRA
+#ifdef GL_BGRA_EXT
+#define GL_BGRA GL_BGRA_EXT
+#else
+#define GL_BGRA 0x80E1
+#endif
+#endif
+
// Get OpenGL internal formats and data type from raylib PixelFormat
void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType)
{
@@ -3529,6 +3542,7 @@ void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned
case RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_5_5_5_1; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_4_4_4_4; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: *glInternalFormat = GL_RGBA; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_BYTE; break;
+ case RL_PIXELFORMAT_UNCOMPRESSED_B8G8R8A8: *glInternalFormat = GL_RGBA; *glFormat = GL_BGRA; *glType = GL_UNSIGNED_BYTE; break;
#if !defined(GRAPHICS_API_OPENGL_11)
#if defined(GRAPHICS_API_OPENGL_ES3)
case RL_PIXELFORMAT_UNCOMPRESSED_R32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_R32F_EXT; *glFormat = GL_RED_EXT; *glType = GL_FLOAT; break;
@@ -3560,6 +3574,7 @@ void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned
case RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: *glInternalFormat = GL_RGB5_A1; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_5_5_5_1; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: *glInternalFormat = GL_RGBA4; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_SHORT_4_4_4_4; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: *glInternalFormat = GL_RGBA8; *glFormat = GL_RGBA; *glType = GL_UNSIGNED_BYTE; break;
+ case RL_PIXELFORMAT_UNCOMPRESSED_B8G8R8A8: *glInternalFormat = GL_BGRA8_EXT; *glFormat = GL_BGRA; *glType = GL_UNSIGNED_BYTE; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_R32F; *glFormat = GL_RED; *glType = GL_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGB32F; *glFormat = GL_RGB; *glType = GL_FLOAT; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: if (RLGL.ExtSupported.texFloat32) *glInternalFormat = GL_RGBA32F; *glFormat = GL_RGBA; *glType = GL_FLOAT; break;
@@ -4842,6 +4857,7 @@ const char *rlGetPixelFormatName(unsigned int format)
case RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: return "R5G5B5A1"; break; // 16 bpp (1 bit alpha)
case RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: return "R4G4B4A4"; break; // 16 bpp (4 bit alpha)
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: return "R8G8B8A8"; break; // 32 bpp
+ case RL_PIXELFORMAT_UNCOMPRESSED_B8G8R8A8: return "B8G8R8A8"; break; // 32 bpp
case RL_PIXELFORMAT_UNCOMPRESSED_R32: return "R32"; break; // 32 bpp (1 channel - float)
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32: return "R32G32B32"; break; // 32*3 bpp (3 channels - float)
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: return "R32G32B32A32"; break; // 32*4 bpp (4 channels - float)
@@ -5110,6 +5126,7 @@ static int rlGetPixelDataSize(int width, int height, int format)
case RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1:
case RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: bpp = 16; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: bpp = 32; break;
+ case RL_PIXELFORMAT_UNCOMPRESSED_B8G8R8A8: bpp = 32; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8: bpp = 24; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32: bpp = 32; break;
case RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32: bpp = 32*3; break;
diff --git a/src/rtextures.c b/src/rtextures.c
index 18ee1af99..73fe86f03 100644
--- a/src/rtextures.c
+++ b/src/rtextures.c
@@ -1374,6 +1374,18 @@ void ImageFormat(Image *image, int newFormat)
((unsigned char *)image->data)[i + 3] = (unsigned char)(pixels[k].w*255.0f);
}
} break;
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8:
+ {
+ image->data = (unsigned char *)RL_MALLOC(image->width*image->height*4*sizeof(unsigned char));
+
+ for (int i = 0, k = 0; i < image->width*image->height*4; i += 4, k++)
+ {
+ ((unsigned char *)image->data)[i] = (unsigned char)(pixels[k].z*255.0f);
+ ((unsigned char *)image->data)[i + 1] = (unsigned char)(pixels[k].y*255.0f);
+ ((unsigned char *)image->data)[i + 2] = (unsigned char)(pixels[k].x*255.0f);
+ ((unsigned char *)image->data)[i + 3] = (unsigned char)(pixels[k].w*255.0f);
+ }
+ } break;
case PIXELFORMAT_UNCOMPRESSED_R32:
{
// WARNING: Image is converted to GRAYSCALE equivalent 32bit
@@ -1775,6 +1787,7 @@ void ImageResize(Image *image, int newWidth, int newHeight)
case PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: stbir_resize_uint8_linear((unsigned char *)image->data, image->width, image->height, 0, output, newWidth, newHeight, 0, (stbir_pixel_layout)2); break;
case PIXELFORMAT_UNCOMPRESSED_R8G8B8: stbir_resize_uint8_linear((unsigned char *)image->data, image->width, image->height, 0, output, newWidth, newHeight, 0, (stbir_pixel_layout)3); break;
case PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: stbir_resize_uint8_linear((unsigned char *)image->data, image->width, image->height, 0, output, newWidth, newHeight, 0, (stbir_pixel_layout)4); break;
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8: stbir_resize_uint8_linear((unsigned char *)image->data, image->width, image->height, 0, output, newWidth, newHeight, 0, (stbir_pixel_layout)4); break;
default: break;
}
@@ -1976,6 +1989,20 @@ void ImageAlphaClear(Image *image, Color color, float threshold)
}
}
} break;
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8:
+ {
+ unsigned char thresholdValue = (unsigned char)(threshold*255.0f);
+ for (int i = 3; i < image->width*image->height*4; i += 4)
+ {
+ if (((unsigned char *)image->data)[i] <= thresholdValue)
+ {
+ ((unsigned char *)image->data)[i - 3] = color.b;
+ ((unsigned char *)image->data)[i - 2] = color.g;
+ ((unsigned char *)image->data)[i - 1] = color.r;
+ ((unsigned char *)image->data)[i] = color.a;
+ }
+ }
+ } break;
case PIXELFORMAT_UNCOMPRESSED_R32G32B32A32:
{
for (int i = 3; i < image->width*image->height*4; i += 4)
@@ -2464,7 +2491,7 @@ void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp)
RL_FREE(image->data); // free old image data
- if ((image->format != PIXELFORMAT_UNCOMPRESSED_R8G8B8) && (image->format != PIXELFORMAT_UNCOMPRESSED_R8G8B8A8))
+ if ((image->format != PIXELFORMAT_UNCOMPRESSED_R8G8B8) && (image->format != PIXELFORMAT_UNCOMPRESSED_R8G8B8A8) && (image->format != PIXELFORMAT_UNCOMPRESSED_B8G8R8A8))
{
TRACELOG(LOG_WARNING, "IMAGE: Format is already 16bpp or lower, dithering could have no effect");
}
@@ -3020,6 +3047,15 @@ Color *LoadImageColors(Image image)
k += 4;
} break;
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8:
+ {
+ pixels[i].b = ((unsigned char *)image.data)[k];
+ pixels[i].g = ((unsigned char *)image.data)[k + 1];
+ pixels[i].r = ((unsigned char *)image.data)[k + 2];
+ pixels[i].a = ((unsigned char *)image.data)[k + 3];
+
+ k += 4;
+ } break;
case PIXELFORMAT_UNCOMPRESSED_R8G8B8:
{
pixels[i].r = (unsigned char)((unsigned char *)image.data)[k];
@@ -3262,6 +3298,14 @@ Color GetImageColor(Image image, int x, int y)
color.b = ((unsigned char *)image.data)[(y*image.width + x)*4 + 2];
color.a = ((unsigned char *)image.data)[(y*image.width + x)*4 + 3];
+ } break;
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8:
+ {
+ color.b = ((unsigned char *)image.data)[(y*image.width + x)*4];
+ color.g = ((unsigned char *)image.data)[(y*image.width + x)*4 + 1];
+ color.r = ((unsigned char *)image.data)[(y*image.width + x)*4 + 2];
+ color.a = ((unsigned char *)image.data)[(y*image.width + x)*4 + 3];
+
} break;
case PIXELFORMAT_UNCOMPRESSED_R8G8B8:
{
@@ -3429,6 +3473,14 @@ void ImageDrawPixel(Image *dst, int x, int y, Color color)
((unsigned char *)dst->data)[(y*dst->width + x)*4 + 2] = color.b;
((unsigned char *)dst->data)[(y*dst->width + x)*4 + 3] = color.a;
+ } break;
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8:
+ {
+ ((unsigned char *)dst->data)[(y*dst->width + x)*4] = color.b;
+ ((unsigned char *)dst->data)[(y*dst->width + x)*4 + 1] = color.g;
+ ((unsigned char *)dst->data)[(y*dst->width + x)*4 + 2] = color.r;
+ ((unsigned char *)dst->data)[(y*dst->width + x)*4 + 3] = color.a;
+
} break;
case PIXELFORMAT_UNCOMPRESSED_R32:
{
@@ -5212,6 +5264,7 @@ Color GetPixelColor(void *srcPtr, int format)
} break;
case PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: color = (Color){ ((unsigned char *)srcPtr)[0], ((unsigned char *)srcPtr)[1], ((unsigned char *)srcPtr)[2], ((unsigned char *)srcPtr)[3] }; break;
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8: color = (Color){ ((unsigned char *)srcPtr)[2], ((unsigned char *)srcPtr)[1], ((unsigned char *)srcPtr)[0], ((unsigned char *)srcPtr)[3] }; break;
case PIXELFORMAT_UNCOMPRESSED_R8G8B8: color = (Color){ ((unsigned char *)srcPtr)[0], ((unsigned char *)srcPtr)[1], ((unsigned char *)srcPtr)[2], 255 }; break;
case PIXELFORMAT_UNCOMPRESSED_R32:
{
@@ -5349,6 +5402,14 @@ void SetPixelColor(void *dstPtr, Color color, int format)
((unsigned char *)dstPtr)[2] = color.b;
((unsigned char *)dstPtr)[3] = color.a;
+ } break;
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8:
+ {
+ ((unsigned char *)dstPtr)[0] = color.b;
+ ((unsigned char *)dstPtr)[1] = color.g;
+ ((unsigned char *)dstPtr)[2] = color.r;
+ ((unsigned char *)dstPtr)[3] = color.a;
+
} break;
default: break;
}
@@ -5369,6 +5430,7 @@ int GetPixelDataSize(int width, int height, int format)
case PIXELFORMAT_UNCOMPRESSED_R5G5B5A1:
case PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: bpp = 16; break;
case PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: bpp = 32; break;
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8: bpp = 32; break;
case PIXELFORMAT_UNCOMPRESSED_R8G8B8: bpp = 24; break;
case PIXELFORMAT_UNCOMPRESSED_R32: bpp = 32; break;
case PIXELFORMAT_UNCOMPRESSED_R32G32B32: bpp = 32*3; break;
@@ -5517,6 +5579,15 @@ static Vector4 *LoadImageDataNormalized(Image image)
k += 4;
} break;
+ case PIXELFORMAT_UNCOMPRESSED_B8G8R8A8:
+ {
+ pixels[i].z = (float)((unsigned char *)image.data)[k]/255.0f;
+ pixels[i].y = (float)((unsigned char *)image.data)[k + 1]/255.0f;
+ pixels[i].x = (float)((unsigned char *)image.data)[k + 2]/255.0f;
+ pixels[i].w = (float)((unsigned char *)image.data)[k + 3]/255.0f;
+
+ k += 4;
+ } break;
case PIXELFORMAT_UNCOMPRESSED_R8G8B8:
{
pixels[i].x = (float)((unsigned char *)image.data)[k]/255.0f;
diff --git a/tools/parser/output/raylib_api.json b/tools/parser/output/raylib_api.json
index 58ba0be01..62c4a47a8 100644
--- a/tools/parser/output/raylib_api.json
+++ b/tools/parser/output/raylib_api.json
@@ -2688,88 +2688,93 @@
"description": "32 bpp"
},
{
- "name": "PIXELFORMAT_UNCOMPRESSED_R32",
+ "name": "PIXELFORMAT_UNCOMPRESSED_B8G8R8A8",
"value": 8,
+ "description": "32 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_UNCOMPRESSED_R32",
+ "value": 9,
"description": "32 bpp (1 channel - float)"
},
{
"name": "PIXELFORMAT_UNCOMPRESSED_R32G32B32",
- "value": 9,
+ "value": 10,
"description": "32*3 bpp (3 channels - float)"
},
{
"name": "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32",
- "value": 10,
+ "value": 11,
"description": "32*4 bpp (4 channels - float)"
},
{
"name": "PIXELFORMAT_UNCOMPRESSED_R16",
- "value": 11,
+ "value": 12,
"description": "16 bpp (1 channel - half float)"
},
{
"name": "PIXELFORMAT_UNCOMPRESSED_R16G16B16",
- "value": 12,
+ "value": 13,
"description": "16*3 bpp (3 channels - half float)"
},
{
"name": "PIXELFORMAT_UNCOMPRESSED_R16G16B16A16",
- "value": 13,
+ "value": 14,
"description": "16*4 bpp (4 channels - half float)"
},
{
"name": "PIXELFORMAT_COMPRESSED_DXT1_RGB",
- "value": 14,
+ "value": 15,
"description": "4 bpp (no alpha)"
},
{
"name": "PIXELFORMAT_COMPRESSED_DXT1_RGBA",
- "value": 15,
+ "value": 16,
"description": "4 bpp (1 bit alpha)"
},
{
"name": "PIXELFORMAT_COMPRESSED_DXT3_RGBA",
- "value": 16,
- "description": "8 bpp"
- },
- {
- "name": "PIXELFORMAT_COMPRESSED_DXT5_RGBA",
"value": 17,
"description": "8 bpp"
},
{
- "name": "PIXELFORMAT_COMPRESSED_ETC1_RGB",
+ "name": "PIXELFORMAT_COMPRESSED_DXT5_RGBA",
"value": 18,
- "description": "4 bpp"
+ "description": "8 bpp"
},
{
- "name": "PIXELFORMAT_COMPRESSED_ETC2_RGB",
+ "name": "PIXELFORMAT_COMPRESSED_ETC1_RGB",
"value": 19,
"description": "4 bpp"
},
{
- "name": "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA",
+ "name": "PIXELFORMAT_COMPRESSED_ETC2_RGB",
"value": 20,
+ "description": "4 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA",
+ "value": 21,
"description": "8 bpp"
},
{
"name": "PIXELFORMAT_COMPRESSED_PVRT_RGB",
- "value": 21,
- "description": "4 bpp"
- },
- {
- "name": "PIXELFORMAT_COMPRESSED_PVRT_RGBA",
"value": 22,
"description": "4 bpp"
},
{
- "name": "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA",
+ "name": "PIXELFORMAT_COMPRESSED_PVRT_RGBA",
"value": 23,
+ "description": "4 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA",
+ "value": 24,
"description": "8 bpp"
},
{
"name": "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA",
- "value": 24,
+ "value": 25,
"description": "2 bpp"
}
]
diff --git a/tools/parser/output/raylib_api.lua b/tools/parser/output/raylib_api.lua
index 2a385b237..a258ef0ef 100644
--- a/tools/parser/output/raylib_api.lua
+++ b/tools/parser/output/raylib_api.lua
@@ -2688,88 +2688,93 @@ return {
description = "32 bpp"
},
{
- name = "PIXELFORMAT_UNCOMPRESSED_R32",
+ name = "PIXELFORMAT_UNCOMPRESSED_B8G8R8A8",
value = 8,
+ description = "32 bpp"
+ },
+ {
+ name = "PIXELFORMAT_UNCOMPRESSED_R32",
+ value = 9,
description = "32 bpp (1 channel - float)"
},
{
name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32",
- value = 9,
+ value = 10,
description = "32*3 bpp (3 channels - float)"
},
{
name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32",
- value = 10,
+ value = 11,
description = "32*4 bpp (4 channels - float)"
},
{
name = "PIXELFORMAT_UNCOMPRESSED_R16",
- value = 11,
+ value = 12,
description = "16 bpp (1 channel - half float)"
},
{
name = "PIXELFORMAT_UNCOMPRESSED_R16G16B16",
- value = 12,
+ value = 13,
description = "16*3 bpp (3 channels - half float)"
},
{
name = "PIXELFORMAT_UNCOMPRESSED_R16G16B16A16",
- value = 13,
+ value = 14,
description = "16*4 bpp (4 channels - half float)"
},
{
name = "PIXELFORMAT_COMPRESSED_DXT1_RGB",
- value = 14,
+ value = 15,
description = "4 bpp (no alpha)"
},
{
name = "PIXELFORMAT_COMPRESSED_DXT1_RGBA",
- value = 15,
+ value = 16,
description = "4 bpp (1 bit alpha)"
},
{
name = "PIXELFORMAT_COMPRESSED_DXT3_RGBA",
- value = 16,
- description = "8 bpp"
- },
- {
- name = "PIXELFORMAT_COMPRESSED_DXT5_RGBA",
value = 17,
description = "8 bpp"
},
{
- name = "PIXELFORMAT_COMPRESSED_ETC1_RGB",
+ name = "PIXELFORMAT_COMPRESSED_DXT5_RGBA",
value = 18,
- description = "4 bpp"
+ description = "8 bpp"
},
{
- name = "PIXELFORMAT_COMPRESSED_ETC2_RGB",
+ name = "PIXELFORMAT_COMPRESSED_ETC1_RGB",
value = 19,
description = "4 bpp"
},
{
- name = "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA",
+ name = "PIXELFORMAT_COMPRESSED_ETC2_RGB",
value = 20,
+ description = "4 bpp"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA",
+ value = 21,
description = "8 bpp"
},
{
name = "PIXELFORMAT_COMPRESSED_PVRT_RGB",
- value = 21,
- description = "4 bpp"
- },
- {
- name = "PIXELFORMAT_COMPRESSED_PVRT_RGBA",
value = 22,
description = "4 bpp"
},
{
- name = "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA",
+ name = "PIXELFORMAT_COMPRESSED_PVRT_RGBA",
value = 23,
+ description = "4 bpp"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA",
+ value = 24,
description = "8 bpp"
},
{
name = "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA",
- value = 24,
+ value = 25,
description = "2 bpp"
}
}
diff --git a/tools/parser/output/raylib_api.txt b/tools/parser/output/raylib_api.txt
index 9ff8a7735..f74e38849 100644
--- a/tools/parser/output/raylib_api.txt
+++ b/tools/parser/output/raylib_api.txt
@@ -851,7 +851,7 @@ Enum 11: ShaderAttributeDataType (4 values)
Value[SHADER_ATTRIB_VEC2]: 1
Value[SHADER_ATTRIB_VEC3]: 2
Value[SHADER_ATTRIB_VEC4]: 3
-Enum 12: PixelFormat (24 values)
+Enum 12: PixelFormat (25 values)
Name: PixelFormat
Description: Pixel formats
Value[PIXELFORMAT_UNCOMPRESSED_GRAYSCALE]: 1
@@ -861,23 +861,24 @@ Enum 12: PixelFormat (24 values)
Value[PIXELFORMAT_UNCOMPRESSED_R5G5B5A1]: 5
Value[PIXELFORMAT_UNCOMPRESSED_R4G4B4A4]: 6
Value[PIXELFORMAT_UNCOMPRESSED_R8G8B8A8]: 7
- Value[PIXELFORMAT_UNCOMPRESSED_R32]: 8
- Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32]: 9
- Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32A32]: 10
- Value[PIXELFORMAT_UNCOMPRESSED_R16]: 11
- Value[PIXELFORMAT_UNCOMPRESSED_R16G16B16]: 12
- Value[PIXELFORMAT_UNCOMPRESSED_R16G16B16A16]: 13
- Value[PIXELFORMAT_COMPRESSED_DXT1_RGB]: 14
- Value[PIXELFORMAT_COMPRESSED_DXT1_RGBA]: 15
- Value[PIXELFORMAT_COMPRESSED_DXT3_RGBA]: 16
- Value[PIXELFORMAT_COMPRESSED_DXT5_RGBA]: 17
- Value[PIXELFORMAT_COMPRESSED_ETC1_RGB]: 18
- Value[PIXELFORMAT_COMPRESSED_ETC2_RGB]: 19
- Value[PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA]: 20
- Value[PIXELFORMAT_COMPRESSED_PVRT_RGB]: 21
- Value[PIXELFORMAT_COMPRESSED_PVRT_RGBA]: 22
- Value[PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA]: 23
- Value[PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA]: 24
+ Value[PIXELFORMAT_UNCOMPRESSED_B8G8R8A8]: 8
+ Value[PIXELFORMAT_UNCOMPRESSED_R32]: 9
+ Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32]: 10
+ Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32A32]: 11
+ Value[PIXELFORMAT_UNCOMPRESSED_R16]: 12
+ Value[PIXELFORMAT_UNCOMPRESSED_R16G16B16]: 13
+ Value[PIXELFORMAT_UNCOMPRESSED_R16G16B16A16]: 14
+ Value[PIXELFORMAT_COMPRESSED_DXT1_RGB]: 15
+ Value[PIXELFORMAT_COMPRESSED_DXT1_RGBA]: 16
+ Value[PIXELFORMAT_COMPRESSED_DXT3_RGBA]: 17
+ Value[PIXELFORMAT_COMPRESSED_DXT5_RGBA]: 18
+ Value[PIXELFORMAT_COMPRESSED_ETC1_RGB]: 19
+ Value[PIXELFORMAT_COMPRESSED_ETC2_RGB]: 20
+ Value[PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA]: 21
+ Value[PIXELFORMAT_COMPRESSED_PVRT_RGB]: 22
+ Value[PIXELFORMAT_COMPRESSED_PVRT_RGBA]: 23
+ Value[PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA]: 24
+ Value[PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA]: 25
Enum 13: TextureFilter (6 values)
Name: TextureFilter
Description: Texture parameters: filter mode
diff --git a/tools/parser/output/raylib_api.xml b/tools/parser/output/raylib_api.xml
index 063119ab5..c902ed147 100644
--- a/tools/parser/output/raylib_api.xml
+++ b/tools/parser/output/raylib_api.xml
@@ -560,7 +560,7 @@
-
+
@@ -568,23 +568,24 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+