unsigned char version_minor;

    /**
     * Is driver support forced by the ABI?
     */
    unsigned char driver_support;
};

/**
 * List of known GLX Extensions.
 * The last Y/N switch informs whether the support of this extension is always enabled.
 */
static const struct extension_info known_glx_extensions[] = {
/*   GLX_ARB_get_proc_address is implemented on the client. */
    /* *INDENT-OFF* */
    { GLX(ARB_context_flush_control),   VER(0,0), N, },
    { GLX(ARB_create_context),          VER(0,0), N, },
    { GLX(ARB_create_context_profile),  VER(0,0), N, },
    { GLX(ARB_create_context_robustness), VER(0,0), N, },
    { GLX(ARB_fbconfig_float),          VER(0,0), N, },
    { GLX(ARB_framebuffer_sRGB),        VER(0,0), N, },
    { GLX(ARB_multisample),             VER(1,4), Y, },

    { GLX(EXT_create_context_es_profile), VER(0,0), N, },
    { GLX(EXT_create_context_es2_profile), VER(0,0), N, },
    { GLX(EXT_fbconfig_packed_float),   VER(0,0), N, },
    { GLX(EXT_framebuffer_sRGB),        VER(0,0), N, },
    { GLX(EXT_import_context),          VER(0,0), Y, },
    { GLX(EXT_libglvnd),                VER(0,0), N, },
    { GLX(EXT_stereo_tree),             VER(0,0), N, },
    { GLX(EXT_texture_from_pixmap),     VER(0,0), N, },
Exemple #2
0
    * These extensions will be enabled if both ::client_support and
    * ::direct_support are set.
    *
    * \note
    * An extension \b cannot be both client-only and direct-only because being
    * client-only implies that all functionality is outside the
    * direct-renderer.
    *
    * \sa ::direct_support, ::client_only
    */
   unsigned char direct_only;
};

/* *INDENT-OFF* */
static const struct extension_info known_glx_extensions[] = {
   { GLX(ARB_create_context),          VER(0,0), Y, N, N, N },
   { GLX(ARB_create_context_profile),  VER(0,0), Y, N, N, N },
   { GLX(ARB_create_context_robustness), VER(0,0), Y, N, N, N },
   { GLX(ARB_fbconfig_float),          VER(0,0), Y, Y, N, N },
   { GLX(ARB_framebuffer_sRGB),        VER(0,0), Y, Y, N, N },
   { GLX(ARB_get_proc_address),        VER(1,4), Y, N, Y, N },
   { GLX(ARB_multisample),             VER(1,4), Y, Y, N, N },
   { GLX(ATI_pixel_format_float),      VER(0,0), N, N, N, N },
   { GLX(EXT_import_context),          VER(0,0), Y, Y, N, N },
   { GLX(EXT_visual_info),             VER(0,0), Y, Y, N, N },
   { GLX(EXT_visual_rating),           VER(0,0), Y, Y, N, N },
   { GLX(EXT_fbconfig_packed_float),   VER(0,0), Y, Y, N, N },
   { GLX(EXT_framebuffer_sRGB),        VER(0,0), Y, Y, N, N },
   { GLX(EXT_create_context_es2_profile), VER(0,0), Y, N, N, N },
   { GLX(MESA_copy_sub_buffer),        VER(0,0), Y, N, N, N },
   { GLX(MESA_multithread_makecurrent),VER(0,0), Y, N, Y, N },
Exemple #3
0
    * SGI_make_current_read.  If the extension is not required by any known
    * version of GLX, use 0, 0.
    */
   unsigned char version_major;
   unsigned char version_minor;
   unsigned char client_support;
   unsigned char direct_support;
   unsigned char client_only;        /** Is the extension client-side only? */
   unsigned char direct_only;        /** Is the extension for direct
				      * contexts only?
				      */
};

/* *INDENT-OFF* */
static const struct extension_info known_glx_extensions[] = {
   { GLX(ARB_get_proc_address),        VER(1,4), Y, N, Y, N },
   { GLX(ARB_multisample),             VER(1,4), Y, Y, N, N },
   { GLX(ARB_render_texture),          VER(0,0), N, N, N, N },
   { GLX(ATI_pixel_format_float),      VER(0,0), N, N, N, N },
#ifdef GLX_USE_APPLEGL
   { GLX(EXT_import_context),          VER(0,0), N, N, N, N },
   { GLX(EXT_visual_info),             VER(0,0), N, N, N, N },
#else
   { GLX(EXT_import_context),          VER(0,0), Y, Y, N, N },
   { GLX(EXT_visual_info),             VER(0,0), Y, Y, N, N },
#endif
   { GLX(EXT_visual_rating),           VER(0,0), Y, Y, N, N },
   { GLX(EXT_framebuffer_sRGB),        VER(0,0), Y, Y, N, N },
#ifdef GLX_USE_APPLEGL
   { GLX(MESA_agp_offset),             VER(0,0), N, N, N, N }, /* Deprecated */
   { GLX(MESA_copy_sub_buffer),        VER(0,0), N, N, N, N },