Loading [MathJax]/extensions/tex2jax.js
  • <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • NVIDIA DRIVE OS Linux SDK API Reference

    6.0.9 Release
    All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    EGL_IMG_context_priority
    Name
    
        IMG_context_priority
    
    Name Strings
    
        EGL_IMG_context_priority
    
    Contributors
    
        Ben Bowman, Imagination Techonologies
        Graham Connor, Imagination Techonologies
    
    Contacts
    
        Ben Bowman, Imagination Technologies (benji 'dot' bowman 'at'
        imgtec 'dot' com)
    
    Status
    
        Complete
    
    Version
    
        Version 1.1, 8 September 2009
    
    Number
    
        EGL Extension #10
    
    Dependencies
    
        Requires EGL 1.0.
    
        This extension is written against the wording of the EGL 1.4
        Specification - May 2, 2008 (but may be implemented against earlier
        versions).
    
    Overview
    
        This extension allows an EGLContext to be created with a priority
        hint. It is possible that an implementation will not honour the
        hint, especially if there are constraints on the number of high
        priority contexts available in the system, or system policy limits
        access to high priority contexts to appropriate system privilege
        level. A query is provided to find the real priority level assigned
        to the context after creation.
    
    New Types
    
        None
    
    New Procedures and Functions
    
        None
    
    New Tokens
    
        New attributes accepted by the <attrib_list> argument of
        eglCreateContext
    
            EGL_CONTEXT_PRIORITY_LEVEL_IMG          0x3100
    
        New attribute values accepted in the <attrib_list> argument
        of eglCreateContext:
    
            EGL_CONTEXT_PRIORITY_HIGH_IMG           0x3101
            EGL_CONTEXT_PRIORITY_MEDIUM_IMG         0x3102
            EGL_CONTEXT_PRIORITY_LOW_IMG            0x3103
    
    Additions to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors)
    
        Modify the list of attributes supported by eglCreateContext in
        section 3.7.1 (Creating Rendering Contexts) on p. 42:
    
           "<attrib_list> specifies a list of attributes for the context.
            The list has the same structure as described for
            eglChooseConfig. The only attributes that can be specified in
            <attrib_list> are EGL_CONTEXT_CLIENT_VERSION and
            EGL_CONTEXT_PRIORITY_LEVEL_IMG. The EGL_CONTEXT_CLIENT_VERSION
            attribute may only be specified when creating a OpenGL ES
            context (e.g. when the current rendering API is
            EGL_OPENGL_ES_API).
    
            <attrib_list> may be NULL or empty (first attribute is
            EGL_NONE), in which case attributes assume their default values
            as described below.
    
            EGL_CONTEXT_CLIENT_VERSION determines which version of an OpenGL
            ES context to create. An attribute value of 1 specifies creation
            of an OpenGL ES 1.x context. An attribute value of 2 specifies
            creation of an OpenGL ES 2.x context. The default value for
            EGL_CONTEXT_CLIENT_VERSION is 1.
    
            EGL_CONTEXT_PRIORITY_LEVEL_IMG determines the priority level of
            the context to be created. This attribute is a hint, as an
            implementation may not support multiple contexts at some
            priority levels and system policy may limit access to high
            priority contexts to appropriate system privilege level. The
            default value for EGL_CONTEXT_PRIORITY_LEVEL_IMG is
            EGL_CONTEXT_PRIORITY_MEDIUM_IMG."
    
    
        Modify the list of attributes supported by eglQueryContext in
        section 3.7.4 (Context Queries) on p. 46:
    
           "eglQueryContext returns in <value> the value of attribute for
            <ctx>. <attribute> must be set to EGL_CONFIG_ID,
            EGL_CONTEXT_CLIENT_TYPE, EGL_CONTEXT_CLIENT_VERSION,
            EGL_RENDER_BUFFER, or EGL_CONTEXT_PRIORITY_LEVEL_IMG.
    
            ...
    
            Querying EGL_CONTEXT_PRIORITY_LEVEL_IMG returns the priority
            this context was actually created with. Note: this may not be
            the same as specified at context creation time, due to
            implementation limits on the number of contexts that can be
            created at a specific priority level in the system."
    
    ISSUES:
    
        1) Should the context priority be treated as a hint or a requirement
    
        RESOLVED: The context priority should be a hint. System policy may
        limit high priority contexts to appropriate system privilege level.
        Implementations may have a limit on the number of context supported
        at each priority, and may require all contexts within a process to
        have the same priority level.
    
        2) Can an application find out what priority a context was assigned?
    
        RESOLVED: Provide a query to find the assigned priority for a
        context. An application may find that it has a lower (or higher)
        priority than requested (although it probably cannot do much with
        the information).
    
        3) How many priority levels should be defined?
    
        RESOLVED: Three seems appropriate, as the highest provides the
        largest GPU timeslice and reduced latency. It might be useful to
        specify a low priority context which has a small timeslice and high
        latency. It is possible that a request for LOW will actually return
        MEDIUM on an implementation that doesn't differentiate between the
        lower two levels.
    
        4) What should the default priority level be if not specified?
    
            OPTION 1: HIGH - This allows applications that are unaware of
            this extension to get the highest priority possible.
    
            OPTIONS 2: MEDIUM - This allows truly high priority applications
            to differentiate themselves from applications which are unaware
            of this extension.
    
            RESOLVED:
                OPTION 2: MEDIUM - Allow truly high priority applications to
                differentiate themselves.
    
    Revision History
        Version 1.1, 08/09/2009 (Jon Leech) Assign extension number and
            publish in the Registry. Formatting cleanup.
        Version 1.0, 30/04/2009 - Final clean up. Marked issues as resolved,
            take out draft status
        Version 0.3, 22/04/2009 - enums assigned from Khronos registry.
        Version 0.2, 02/04/2009 - feedback from gdc.
        Version 0.1, 31/03/2009 - first draft.
    
    人人超碰97caoporen国产