// MobileGL - MobileGL/Includes.h // Copyright (c) 2025-2026 MobileGL-Dev // Licensed under the GNU Lesser General Public License v3.0: // https://www.gnu.org/licenses/gpl-3.0.txt // https://www.gnu.org/licenses/lgpl-3.0.txt // SPDX-License-Identifier: LGPL-3.0-only // End of Source File Header #pragma once // Include significant project headers #include "Defines.h" #include "MG_Util/PlatformStubs.h" // Include necessary standard headers #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if __cplusplus >= 202302L && MOBILEGL_LOG_ENABLE_STACKTRACE #include #endif // Include ska::flat_hash_map #include // Include xxHash #include // Include spirv_cross #include // Include OpenGL and EGL headers #ifdef GLAPI #undef GLAPI #endif #include #define GL_GLEXT_PROTOTYPES #ifndef NO_GL_H #include "GL/gl.h" #endif #include #undef GL_GLEXT_PROTOTYPES #include #define GL_GLES_PROTOTYPES 0 #include #undef GL_GLES_PROTOTYPES // Include glslang headers #include #include #include #include #include // Include headers for platform-specific functionality #ifdef __linux__ #include #include #endif #ifdef _WIN32 #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN 1 #endif #include #include #endif #ifdef __ANDROID__ #include #include #include #include #endif #ifdef __ANDROID__ #define VK_USE_PLATFORM_ANDROID_KHR #elif _WIN32 #define VK_USE_PLATFORM_WIN32_KHR #elif defined(__APPLE__) #define VK_USE_PLATFORM_METAL_EXT #elif defined(__linux__) #define VK_USE_PLATFORM_XLIB_KHR typedef struct _XDisplay Display; typedef unsigned long XID; typedef XID Window; typedef unsigned long VisualID; #else #warning "VK_USE_PLATFORM_*_KHR not defined for this platform!" #endif #if defined(VK_USE_PLATFORM_XLIB_KHR) #pragma push_macro("Bool") #pragma push_macro("None") #pragma push_macro("Always") #pragma push_macro("Status") #pragma push_macro("LSBFirst") #pragma push_macro("DestroyAll") #endif #include #if defined(VK_USE_PLATFORM_XLIB_KHR) #pragma pop_macro("DestroyAll") #pragma pop_macro("LSBFirst") #pragma pop_macro("Status") #pragma pop_macro("Always") #pragma pop_macro("None") #pragma pop_macro("Bool") #endif #ifdef TRACY_ENABLE #include #define TRACY_ZONECOLOR_ENTRY 0xFF0000 #define TRACY_ZONECOLOR_FRONTEND 0x00FF00 #define TRACY_ZONECOLOR_BACKEND 0x00FF00 #endif // Post-includes for significant project headers #include "MG_Util/Debug/Log.h" #include "MG_Util/Types.h"