#ifndef _DRI_COMMON_H
#define _DRI_COMMON_H
+#ifdef GLX_DIRECT_RENDERING
+
#include <GL/internal/dri_interface.h>
#include <stdbool.h>
+#include "loader.h"
+#include "util/macros.h" /* for PRINTFLIKE */
typedef struct __GLXDRIconfigPrivateRec __GLXDRIconfigPrivate;
extern const __DRIsystemTimeExtension systemTimeExtension;
-extern void InfoMessageF(const char *f, ...);
-
-extern void ErrorMessageF(const char *f, ...);
+extern void dri_message(int level, const char *f, ...) PRINTFLIKE(2, 3);
-extern void CriticalErrorMessageF(const char *f, ...);
+#define InfoMessageF(...) dri_message(_LOADER_INFO, __VA_ARGS__)
+#define ErrorMessageF(...) dri_message(_LOADER_WARNING, __VA_ARGS__)
+#define CriticalErrorMessageF(...) dri_message(_LOADER_FATAL, __VA_ARGS__)
-extern void *driOpenDriver(const char *driverName);
+extern const __DRIextension **driOpenDriver(const char *driverName,
+ void **out_driver_handle);
extern bool
dri2_convert_glx_attribs(unsigned num_attribs, const uint32_t *attribs,
unsigned *major_ver, unsigned *minor_ver,
uint32_t *render_type, uint32_t *flags, unsigned *api,
- int *reset, unsigned *error);
+ int *reset, int *release, unsigned *error);
+
+extern bool
+dri2_check_no_error(uint32_t flags, struct glx_context *share_context,
+ int major, unsigned *error);
+
+
+#endif /* GLX_DIRECT_RENDERING */
#endif /* _DRI_COMMON_H */