aco: set constant_data_offset correctly in the case of merged shaders
[mesa.git] / src / mesa / main / extensions.h
index b5e035072311bfc4b2636ae5efff85183bdfc83b..303929baabc9d84cd174b781533be482f477581f 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;
@@ -49,6 +53,8 @@ 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,6 +91,7 @@ enum {
 #define EXT(name_str, ...) MESA_EXTENSION_##name_str,
 #include "extensions_table.h"
 #undef EXT
+MESA_EXTENSION_COUNT
 };
 
 
@@ -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