X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=src%2Fegl%2Fmain%2FREADME.txt;h=3e23650021500cf0ed09af8a00b9ea9059723fda;hp=b3d253dd1330d18836205f49f1fabd098dbc4c59;hb=7897c315d4f4978257a59271ce156d07ed678566;hpb=81c862205e32b163a9f5ecf3f59e4cdcccee36c6 diff --git a/src/egl/main/README.txt b/src/egl/main/README.txt index b3d253dd133..3e236500215 100644 --- a/src/egl/main/README.txt +++ b/src/egl/main/README.txt @@ -16,24 +16,22 @@ The EGL code here basically consists of two things: Bootstrapping: -When the apps calls eglOpenDisplay() a device driver is selected and loaded -(look for dlsym() or LoadLibrary() in egldriver.c). +When the apps calls eglInitialize() a device driver is selected and loaded +(look for _eglAddDrivers() and _eglLoadModule() in egldriver.c). -The driver's _eglMain() function is then called. This driver function -allocates, initializes and returns a new _EGLDriver object (usually a -subclass of that type). +The built-in driver's entry point function is then called and given +a freshly allocated and initialised _EGLDriver, with default fallback +entrypoints set. As part of initialization, the dispatch table in _EGLDriver->API must be -populated with all the EGL entrypoints. Typically, _eglInitDriverFallbacks() -can be used to plug in default/fallback functions. Some functions like -driver->API.Initialize and driver->API.Terminate _must_ be implemented +populated with all the EGL entrypoints. Some functions like +driver->Initialize and driver->Terminate _must_ be implemented with driver-specific code (no default/fallback function is possible). -A bit later, the app will call eglInitialize(). This will get routed -to the driver->API.Initialize() function. Any additional driver -initialization that wasn't done in _eglMain() should be done at this -point. Typically, this will involve setting up visual configs, etc. +Shortly after, the driver->Initialize() function is executed. Any additional +driver initialization that wasn't done in the driver entry point should be +done at this point. Typically, this will involve setting up visual configs, etc. @@ -56,7 +54,7 @@ defaults/fallbacks. Same thing for the eglGet/Query functions. Teardown: -When eglTerminate() is called, the driver->API.Terminate() function is +When eglTerminate() is called, the driver->Terminate() function is called. The driver should clean up after itself. eglTerminate() will then close/unload the driver (shared library).