[Mesa-dev] [PATCH 15/18] docs: Import extension spec for GLX_MESA_query_renderer

Kenneth Graunke kenneth at whitecape.org
Thu Nov 7 13:18:31 PST 2013


On 10/11/2013 03:10 PM, Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
> 
> The enumerated values are currently allocated from Intel's range.
> 
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
>  docs/MESA_query_renderer.spec | 381 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 381 insertions(+)
>  create mode 100644 docs/MESA_query_renderer.spec
> 
> diff --git a/docs/MESA_query_renderer.spec b/docs/MESA_query_renderer.spec
> new file mode 100644
> index 0000000..6d683ee
> --- /dev/null
> +++ b/docs/MESA_query_renderer.spec
> @@ -0,0 +1,381 @@
> +Name
> +
> +    MESA_query_renderer
> +
> +Name Strings
> +
> +    GLX_MESA_query_renderer
> +
> +Contact
> +
> +    Ian Romanick <ian.d.romanick at intel.com>
> +
> +IP Status
> +
> +    No known IP claims.
> +
> +Status
> +
> +    Incomplete.  DO NOT SHIP.
> +
> +Version
> +
> +    Version 5, 14-February-2013
> +
> +Number
> +
> +    TBD.
> +
> +Dependencies
> +
> +    GLX 1.4 is required.
> +
> +    GLX_ARB_create_context and GLX_ARB_create_context_profile are required.
> +
> +    This extension interacts with GLX_EXT_create_context_es2_profile and
> +    GLX_EXT_create_context_es_profile.
> +
> +Overview
> +
> +    In many situations, applications want to detect characteristics of a
> +    rendering device before creating a context for that device.  Information
> +    gathered at this stage may guide choices the application makes about
> +    color depth, number of samples per-pixel, texture quality, and so on.
> +    In addition, versions of supported APIs and implementation API
> +    preference may also guide start-up decisions made by the application.
> +    For example, one implementation may prefer vertex data be supplied using
> +    methods only available in a compatibility profile, but another
> +    implementation may only support the desired version in a core profile.
> +
> +    There are also cases where more than one renderer may be available per
> +    display.  For example, there is typically a hardware implementation and
> +    a software based implementation.  There are cases where an application
> +    may want to pick one over the other.  One such situation is when the
> +    software implementation supports more features than the hardware
> +    implementation.  Another situation is when a particular version of the
> +    hardware implementation is blacklisted due to known bugs.
> +
> +    This extension provides a mechanism for the application to query all of
> +    the available renderers for a particular display and screen.  In
> +    addition, this extension provides a mechanism for applications to create
> +    contexts with respect to a specific renderer.
> +
> +New Procedures and Functions
> +
> +    Bool glXQueryRendererIntegerMESA(Display *dpy, int screen,
> +                                     int renderer, int attribute,
> +                                     unsigned int *value);
> +    Bool glXQueryCurrentRendererIntegerMESA(int attribute, unsigned int *value);
> +
> +    const char *glXQueryRendererStringMESA(Display *dpy, int screen,
> +                                           int renderer, int attribute);
> +
> +    const char *glXQueryCurrentRendererStringMESA(int attribute);
> +
> +New Tokens
> +
> +    Accepted as an <attribute> in glXQueryRendererIntegerMESA:
> +
> +        GLX_RENDERER_VENDOR_ID_MESA                      0x8183
> +        GLX_RENDERER_DEVICE_ID_MESA                      0x8184
> +        GLX_RENDERER_VERSION_MESA                        0x8185
> +        GLX_RENDERER_ACCELERATED_MESA                    0x8186
> +        GLX_RENDERER_VIDEO_MEMORY_MESA                   0x8187
> +        GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA    0x8188
> +        GLX_RENDERER_PREFERRED_PROFILE_MESA              0x8189
> +        GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA    0x818A
> +        GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA    0x818B
> +        GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA      0x818C
> +        GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA     0x818D
> +
> +    Accepted as an <attribute> in glXQueryRendererStringMESA:
> +
> +        GLX_RENDERER_VENDOR_ID_MESA
> +        GLX_RENDERER_DEVICE_ID_MESA
> +
> +    Accepted as an attribute name in <*attrib_list> in
> +    glXCreateContextAttribsARB:
> +
> +        GLX_RENDERER_ID_MESA                             0x818E
> +
> +Additions to the OpenGL / WGL Specifications
> +
> +    None. This specification is written for GLX.
> +
> +Additions to the GLX 1.4 Specification
> +
> +    [Add the following to Section X.Y.Z of the GLX Specification]
> +
> +    To obtain information about the available renderers for a particular
> +    display and screen,
> +
> +        void glXQueryRendererIntegerMESA(Display *dpy, int screen, int renderer,
> +                                         int attribute, unsigned int *value);

The return type should be "Bool", not "void."


More information about the mesa-dev mailing list