X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmesa%2Fmain%2Fextensions.h;h=705d65dcdb5c160420cc47bbe2cda409d0caba09;hb=ee0263e03fbc897767bf8b787dc0cc917481e826;hp=1615e1cc0a42769d8945d7b385305f78195fc131;hpb=1469ccb7464836c752fa2664c36d8fae7e80606c;p=mesa.git diff --git a/src/mesa/main/extensions.h b/src/mesa/main/extensions.h index 1615e1cc0a4..705d65dcdb5 100644 --- a/src/mesa/main/extensions.h +++ b/src/mesa/main/extensions.h @@ -36,19 +36,25 @@ #ifndef _EXTENSIONS_H_ #define _EXTENSIONS_H_ -#include "glheader.h" +#include "mtypes.h" + +#ifdef __cplusplus +extern "C" { +#endif struct gl_context; struct gl_extensions; extern void _mesa_enable_sw_extensions(struct gl_context *ctx); -extern void _mesa_one_time_init_extension_overrides(void); +extern void _mesa_one_time_init_extension_overrides(struct gl_context *ctx); extern void _mesa_init_extensions(struct gl_extensions *extentions); extern GLubyte *_mesa_make_extension_string(struct gl_context *ctx); +extern void _mesa_override_extensions(struct gl_context *ctx); + extern GLuint _mesa_get_extension_count(struct gl_context *ctx); @@ -85,10 +91,11 @@ enum { #define EXT(name_str, ...) MESA_EXTENSION_##name_str, #include "extensions_table.h" #undef EXT +MESA_EXTENSION_COUNT }; -/** Checks if the context suports a user-facing extension */ +/** Checks if the context supports a user-facing extension */ #define EXT(name_str, driver_cap, ...) \ static inline bool \ _mesa_has_##name_str(const struct gl_context *ctx) \ @@ -99,7 +106,20 @@ _mesa_has_##name_str(const struct gl_context *ctx) \ #include "extensions_table.h" #undef EXT +/* Sometimes the driver wants to query the extension override status before + * a context is created. These variables are filled with extension override + * information before context creation. + * + * This can be useful during extension bring-up when an extension is + * partially implemented, but cannot yet be advertised as supported. + * + * Use it with care and keep access read-only. + */ extern struct gl_extensions _mesa_extension_override_enables; extern struct gl_extensions _mesa_extension_override_disables; +#ifdef __cplusplus +} +#endif + #endif