mirror of
https://github.com/raysan5/raylib.git
synced 2026-04-14 19:19:09 -04:00
Redesigned to support disabling features on compilation with `-DSUPPORT_FEATURE=0` REMOVED: `SUPPORT_DEFAULT_FONT`, always supported REMOVED: `SUPPORT_IMAGE_MANIPULATION `, always supported REMOVED: `SUPPORT_TEXT_MANIPULATION`, always supported REDESIGNED: `SUPPORT_FONT_ATLAS_WHITE_REC` to `FONT_ATLAS_CORNER_REC_SIZE` REVIEWED: Config values (other than 0-1) are already defined on respective modules Other config tweaks here and there
This commit is contained in:
47
src/rlgl.h
47
src/rlgl.h
@ -1134,7 +1134,7 @@ typedef struct rlglData {
|
||||
} ExtSupported; // Extensions supported flags
|
||||
} rlglData;
|
||||
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
|
||||
//----------------------------------------------------------------------------------
|
||||
// Global Variables Definition
|
||||
@ -1144,7 +1144,7 @@ static double rlCullDistanceFar = RL_CULL_DISTANCE_FAR;
|
||||
|
||||
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
||||
static rlglData RLGL = { 0 };
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
static bool isGpuReady = false;
|
||||
|
||||
#if defined(GRAPHICS_API_OPENGL_ES2) && !defined(GRAPHICS_API_OPENGL_ES3)
|
||||
@ -1165,10 +1165,10 @@ static PFNGLVERTEXATTRIBDIVISOREXTPROC glVertexAttribDivisor = NULL;
|
||||
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
||||
static void rlLoadShaderDefault(void); // Load default shader
|
||||
static void rlUnloadShaderDefault(void); // Unload default shader
|
||||
#if defined(RLGL_SHOW_GL_DETAILS_INFO)
|
||||
#if RLGL_SHOW_GL_DETAILS_INFO
|
||||
static const char *rlGetCompressedFormatName(int format); // Get compressed format official GL identifier name
|
||||
#endif // RLGL_SHOW_GL_DETAILS_INFO
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static int rlGetPixelDataSize(int width, int height, int format); // Get pixel data size in bytes (image or texture)
|
||||
|
||||
@ -2210,7 +2210,7 @@ void rlSetBlendFactorsSeparate(int glSrcRGB, int glDstRGB, int glSrcAlpha, int g
|
||||
//----------------------------------------------------------------------------------
|
||||
// Module Functions Definition - OpenGL Debug
|
||||
//----------------------------------------------------------------------------------
|
||||
#if defined(RLGL_ENABLE_OPENGL_DEBUG_CONTEXT) && defined(GRAPHICS_API_OPENGL_43)
|
||||
#if defined(GRAPHICS_API_OPENGL_43) && RLGL_ENABLE_OPENGL_DEBUG_CONTEXT
|
||||
static void GLAPIENTRY rlDebugMessageCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam)
|
||||
{
|
||||
// Ignore non-significant error/warning codes (NVidia drivers)
|
||||
@ -2276,8 +2276,8 @@ void rlglInit(int width, int height)
|
||||
{
|
||||
isGpuReady = true;
|
||||
|
||||
// Enable OpenGL debug context if required
|
||||
#if defined(RLGL_ENABLE_OPENGL_DEBUG_CONTEXT) && defined(GRAPHICS_API_OPENGL_43)
|
||||
// Enable OpenGL debug context if requested (and supported)
|
||||
#if defined(GRAPHICS_API_OPENGL_43) && RLGL_ENABLE_OPENGL_DEBUG_CONTEXT
|
||||
if ((glDebugMessageCallback != NULL) && (glDebugMessageControl != NULL))
|
||||
{
|
||||
glDebugMessageCallback(rlDebugMessageCallback, 0);
|
||||
@ -2321,7 +2321,7 @@ void rlglInit(int width, int height)
|
||||
RLGL.State.projection = rlMatrixIdentity();
|
||||
RLGL.State.modelview = rlMatrixIdentity();
|
||||
RLGL.State.currentMatrix = &RLGL.State.modelview;
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
|
||||
#if defined(GRAPHICS_API_OPENGL_11_SOFTWARE)
|
||||
// Initialize software renderer backend
|
||||
@ -2405,7 +2405,7 @@ void rlLoadExtensions(void *loader)
|
||||
glGetIntegerv(GL_NUM_EXTENSIONS, &numExt);
|
||||
TRACELOG(RL_LOG_INFO, "GL: Supported extensions count: %i", numExt);
|
||||
|
||||
#if defined(RLGL_SHOW_GL_DETAILS_INFO)
|
||||
#if RLGL_SHOW_GL_DETAILS_INFO
|
||||
// Get supported extensions list
|
||||
// WARNING: glGetStringi() not available on OpenGL 2.1
|
||||
TRACELOG(RL_LOG_INFO, "GL: OpenGL extensions:");
|
||||
@ -2447,7 +2447,7 @@ void rlLoadExtensions(void *loader)
|
||||
RLGL.ExtSupported.ssbo = GLAD_GL_ARB_shader_storage_buffer_object;
|
||||
#endif
|
||||
|
||||
#endif // GRAPHICS_API_OPENGL_33
|
||||
#endif // GRAPHICS_API_OPENGL_33
|
||||
|
||||
#if defined(GRAPHICS_API_OPENGL_ES3)
|
||||
// Register supported extensions flags
|
||||
@ -2503,7 +2503,7 @@ void rlLoadExtensions(void *loader)
|
||||
|
||||
TRACELOG(RL_LOG_INFO, "GL: Supported extensions count: %i", numExt);
|
||||
|
||||
#if defined(RLGL_SHOW_GL_DETAILS_INFO)
|
||||
#if RLGL_SHOW_GL_DETAILS_INFO
|
||||
TRACELOG(RL_LOG_INFO, "GL: OpenGL extensions:");
|
||||
for (int i = 0; i < numExt; i++) TRACELOG(RL_LOG_INFO, " %s", extList[i]);
|
||||
#endif
|
||||
@ -2613,7 +2613,7 @@ void rlLoadExtensions(void *loader)
|
||||
// Free extensions pointers
|
||||
RL_FREE(extList);
|
||||
RL_FREE(extensionsDup); // Duplicated string must be deallocated
|
||||
#endif // GRAPHICS_API_OPENGL_ES2
|
||||
#endif // GRAPHICS_API_OPENGL_ES2
|
||||
|
||||
// Check OpenGL information and capabilities
|
||||
//------------------------------------------------------------------------------
|
||||
@ -2633,7 +2633,7 @@ void rlLoadExtensions(void *loader)
|
||||
#endif
|
||||
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &RLGL.ExtSupported.maxAnisotropyLevel);
|
||||
|
||||
#if defined(RLGL_SHOW_GL_DETAILS_INFO)
|
||||
#if RLGL_SHOW_GL_DETAILS_INFO
|
||||
// Show some OpenGL GPU capabilities
|
||||
TRACELOG(RL_LOG_INFO, "GL: OpenGL capabilities:");
|
||||
GLint capability = 0;
|
||||
@ -2664,8 +2664,9 @@ void rlLoadExtensions(void *loader)
|
||||
TRACELOG(RL_LOG_INFO, " GL_MAX_VERTEX_ATTRIB_BINDINGS: %i", capability);
|
||||
glGetIntegerv(GL_MAX_UNIFORM_LOCATIONS, &capability);
|
||||
TRACELOG(RL_LOG_INFO, " GL_MAX_UNIFORM_LOCATIONS: %i", capability);
|
||||
#endif // GRAPHICS_API_OPENGL_43
|
||||
#else // RLGL_SHOW_GL_DETAILS_INFO
|
||||
#endif
|
||||
|
||||
#else // !RLGL_SHOW_GL_DETAILS_INFO
|
||||
|
||||
// Show some basic info about GL supported features
|
||||
if (RLGL.ExtSupported.vao) TRACELOG(RL_LOG_INFO, "GL: VAO extension detected, VAO functions loaded successfully");
|
||||
@ -2679,9 +2680,9 @@ void rlLoadExtensions(void *loader)
|
||||
if (RLGL.ExtSupported.texCompASTC) TRACELOG(RL_LOG_INFO, "GL: ASTC compressed textures supported");
|
||||
if (RLGL.ExtSupported.computeShader) TRACELOG(RL_LOG_INFO, "GL: Compute shaders supported");
|
||||
if (RLGL.ExtSupported.ssbo) TRACELOG(RL_LOG_INFO, "GL: Shader storage buffer objects supported");
|
||||
#endif // RLGL_SHOW_GL_DETAILS_INFO
|
||||
#endif
|
||||
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
}
|
||||
|
||||
// Get OpenGL procedure address
|
||||
@ -3291,7 +3292,7 @@ unsigned int rlLoadTexture(const void *data, int width, int height, int format,
|
||||
return id;
|
||||
}
|
||||
#endif
|
||||
#endif // GRAPHICS_API_OPENGL_11
|
||||
#endif // GRAPHICS_API_OPENGL_11
|
||||
|
||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||
|
||||
@ -5109,7 +5110,7 @@ static void rlUnloadShaderDefault(void)
|
||||
TRACELOG(RL_LOG_INFO, "SHADER: [ID %i] Default shader unloaded successfully", RLGL.State.defaultShaderId);
|
||||
}
|
||||
|
||||
#if defined(RLGL_SHOW_GL_DETAILS_INFO)
|
||||
#if RLGL_SHOW_GL_DETAILS_INFO
|
||||
// Get compressed format official GL identifier name
|
||||
static const char *rlGetCompressedFormatName(int format)
|
||||
{
|
||||
@ -5183,9 +5184,9 @@ static const char *rlGetCompressedFormatName(int format)
|
||||
default: return "GL_COMPRESSED_UNKNOWN"; break;
|
||||
}
|
||||
}
|
||||
#endif // RLGL_SHOW_GL_DETAILS_INFO
|
||||
#endif
|
||||
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||
|
||||
// Get pixel data size in bytes (image or texture)
|
||||
// NOTE: Size depends on pixel format
|
||||
@ -5388,4 +5389,4 @@ static Matrix rlMatrixInvert(Matrix mat)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // RLGL_IMPLEMENTATION
|
||||
#endif // RLGL_IMPLEMENTATION
|
||||
|
||||
Reference in New Issue
Block a user