glx: Add an optional function call for getting the DRI driver interface.
The previous interface relied on a static struct, which meant that the driver didn't get a chance to edit the struct before the struct got used. For megadrivers, I want struct specific to the driver being loaded. v2: Fix the prototype in the docs (caught by Marek). Since the driver name was in the function, we didn't need to also pass it in. v3: Fix asprintf error checking (caught by Matt's gcc). Reviewed-by: Matt Turner <mattst88@gmail.com> (v1) Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
This commit is contained in:
@@ -487,6 +487,19 @@ struct __DRIuseInvalidateExtensionRec {
|
||||
*/
|
||||
#define __DRI_DRIVER_EXTENSIONS "__driDriverExtensions"
|
||||
|
||||
/**
|
||||
* This symbol replaces the __DRI_DRIVER_EXTENSIONS symbol, and will be
|
||||
* suffixed by "_drivername", allowing multiple drivers to be built into one
|
||||
* library, and also giving the driver the chance to return a variable driver
|
||||
* extensions struct depending on the driver name being loaded or any other
|
||||
* system state.
|
||||
*
|
||||
* The function prototype is:
|
||||
*
|
||||
* const __DRIextension **__driDriverGetExtensions_drivername(void);
|
||||
*/
|
||||
#define __DRI_DRIVER_GET_EXTENSIONS "__driDriverGetExtensions"
|
||||
|
||||
/**
|
||||
* Tokens for __DRIconfig attribs. A number of attributes defined by
|
||||
* GLX or EGL standards are not in the table, as they must be provided
|
||||
|
Reference in New Issue
Block a user