i965/fs: Drop Gen7 CMP SIMD unrolling workaround from the generator.
[mesa.git] / src / glx / glxextensions.h
index 787766183389137be00609444a128ca4a49013f1..743ed97fec3bb678836389dee50adec47412fa2d 100644 (file)
 #ifndef GLX_GLXEXTENSIONS_H
 #define GLX_GLXEXTENSIONS_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 enum
 {
-   ARB_get_proc_address_bit = 0,
+   ARB_create_context_bit = 0,
+   ARB_create_context_profile_bit,
+   ARB_create_context_robustness_bit,
+   ARB_fbconfig_float_bit,
+   ARB_get_proc_address_bit,
    ARB_multisample_bit,
-   ARB_render_texture_bit,
    ATI_pixel_format_float_bit,
    EXT_visual_info_bit,
    EXT_visual_rating_bit,
    EXT_import_context_bit,
-   MESA_agp_offset_bit,
+   EXT_framebuffer_sRGB_bit,
+   EXT_fbconfig_packed_float_bit,
+   EXT_create_context_es_profile_bit,
+   EXT_create_context_es2_profile_bit,
    MESA_copy_sub_buffer_bit,
    MESA_depth_float_bit,
-   MESA_pixmap_colormap_bit,
-   MESA_release_buffers_bit,
+   MESA_multithread_makecurrent_bit,
+   MESA_query_renderer_bit,
    MESA_swap_control_bit,
    MESA_swap_frame_usage_bit,
    NV_float_buffer_bit,
-   NV_render_depth_texture_bit,
-   NV_render_texture_rectangle_bit,
-   NV_vertex_array_range_bit,
    OML_swap_method_bit,
    OML_sync_control_bit,
    SGI_make_current_read_bit,
    SGI_swap_control_bit,
    SGI_video_sync_bit,
-   SGIS_blended_overlay_bit,
-   SGIS_color_range_bit,
    SGIS_multisample_bit,
    SGIX_fbconfig_bit,
    SGIX_pbuffer_bit,
@@ -66,8 +71,14 @@ enum
    SGIX_visual_select_group_bit,
    EXT_texture_from_pixmap_bit,
    INTEL_swap_event_bit,
+   EXT_buffer_age_bit,
 };
 
+/* From the GLX perspective, the ARB and EXT extensions are identical.  Use a
+ * single bit for both.
+ */
+#define ARB_framebuffer_sRGB_bit EXT_framebuffer_sRGB_bit
+
 enum
 {
    GL_ARB_depth_texture_bit = 0,
@@ -117,6 +128,7 @@ enum
    GL_EXT_framebuffer_blit_bit,
    GL_EXT_framebuffer_multisample_bit,
    GL_EXT_framebuffer_object_bit,
+   GL_EXT_framebuffer_sRGB_bit,
    GL_EXT_multi_draw_arrays_bit,
    GL_EXT_packed_depth_stencil_bit,
    GL_EXT_packed_pixels_bit,
@@ -139,6 +151,7 @@ enum
    GL_EXT_texture_env_combine_bit,
    GL_EXT_texture_env_dot3_bit,
    GL_EXT_texture_filter_anisotropic_bit,
+   GL_EXT_texture_integer_bit,
    GL_EXT_texture_lod_bit,
    GL_EXT_texture_lod_bias_bit,
    GL_EXT_texture_mirror_clamp_bit,
@@ -273,11 +286,17 @@ typedef void (*PFNGLXDISABLEEXTENSIONPROC) (const char *name);
 # define GLX_ALIAS_VOID(real_func, proto_args, args, aliased_func)
 #else
 # if defined(__GNUC__) && !defined(GLX_ALIAS_UNSUPPORTED)
-#  define GLX_ALIAS(return_type, real_func, proto_args, args, aliased_func) \
+/* GLX_ALIAS and GLX_ALIAS_VOID both expand to the macro GLX_ALIAS2. Using the
+ * extra expansion means that the name mangling macros in glx_mangle.h will
+ * apply before stringification, so the alias attribute will have a string like
+ * "mglXFoo" instead of "glXFoo". */
+#  define GLX_ALIAS2(return_type, real_func, proto_args, args, aliased_func) \
    return_type  real_func  proto_args                                   \
    __attribute__ ((alias( # aliased_func ) ));
+#  define GLX_ALIAS(return_type, real_func, proto_args, args, aliased_func) \
+   GLX_ALIAS2(return_type, real_func, proto_args, args, aliased_func)
 #  define GLX_ALIAS_VOID(real_func, proto_args, args, aliased_func) \
-   GLX_ALIAS(void, real_func, proto_args, args, aliased_func)
+   GLX_ALIAS2(void, real_func, proto_args, args, aliased_func)
 # else
 #  define GLX_ALIAS(return_type, real_func, proto_args, args, aliased_func) \
    return_type  real_func  proto_args                                   \
@@ -288,4 +307,8 @@ typedef void (*PFNGLXDISABLEEXTENSIONPROC) (const char *name);
 # endif /* __GNUC__ */
 #endif /* GLX_NO_STATIC_EXTENSION_FUNCTIONS */
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* GLX_GLXEXTENSIONS_H */