mesa: replace _NEW_EVAL with vbo_exec_update_eval_maps
[mesa.git] / src / mesa / main / extensions.h
index 1615e1cc0a42769d8945d7b385305f78195fc131..705d65dcdb5c160420cc47bbe2cda409d0caba09 100644 (file)
 #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