--- imgui.h.orig 2026-05-12 14:53:37.000000000 -0600 +++ imgui.h 2026-06-15 00:00:00.000000000 -0600 @@ -2949,7 +2949,15 @@ #define IM_COL32_G_SHIFT 8 #define IM_COL32_B_SHIFT 0 #define IM_COL32_A_SHIFT 24 #define IM_COL32_A_MASK 0xFF000000 +#elif defined(__BIG_ENDIAN__) || defined(__POWERPC__) || defined(__powerpc__) || defined(__ppc__) || (defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)) +// OpenGL backends pass ImDrawVert::col and RGBA32 texture data to OpenGL as +// byte arrays. Keep the in-memory byte order as RGBA on big-endian targets. +#define IM_COL32_R_SHIFT 24 +#define IM_COL32_G_SHIFT 16 +#define IM_COL32_B_SHIFT 8 +#define IM_COL32_A_SHIFT 0 +#define IM_COL32_A_MASK 0x000000FF #else #define IM_COL32_R_SHIFT 0 #define IM_COL32_G_SHIFT 8