Edit

kc3-lang/angle/extensions/EGL_ANGLE_direct_composition.txt

Branch :

  • Show log

    Commit

  • Author : John Bauman
    Date : 2015-12-10 18:26:27
    Hash : 160d9ab7
    Message : Add EGL spec for EGL_ANGLE_direct_composition This allows applications to specify that they want to render to the screen using DirectComposition. This can save power by allowing the use of DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL and DirectFlip, but has other side effects - windows must be owned by the current process, and contents drawn by GDI are shown underneatch the window. BUG=angleproject:1178 Change-Id: I2e45d92c9f92f27eedaf50f0a866c20c43f3aab5 Reviewed-on: https://chromium-review.googlesource.com/317651 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: John Bauman <jbauman@chromium.org>

  • extensions/EGL_ANGLE_direct_composition.txt
  • Name
    
        ANGLE_direct_composition
    
    Name Strings
    
        EGL_ANGLE_direct_composition
    
    Contributors
    
        John Bauman
    
    Contacts
    
        John Bauman (jbauman 'at' google.com)
    
    Status
    
        Draft
    
    Version
    
        Version 2, Dec 14, 2015
    
    Number
    
        EGL Extension #??
    
    Dependencies
    
        This extension is written against the wording of the EGL 1.5 Specification.
    
    Overview
    
        This extension allows specifying that the contents of a window surface be
        posted to the screen using the DirectComposition API.
    
    New Types
    
        None
    
    New Procedures and Functions
    
        None
    
    New Tokens
    
        Accepted by the <attribute> parameter of eglQuerySurface and by the
        <attrib_list> parameter of eglCreateWindowSurface and
        eglCreatePlatformWindowSurface
    
        EGL_DIRECT_COMPOSITION_ANGLE                         0x33A5
    
    Changes to Chapter 3 of the EGL 1.5 Specification (EGL Functions and Errors)
    
        Modify the fourth paragraph of Section 3.5.1, page 32
        (Creating On-Screen rendering Surfaces)
    
        "<attrib_list> specifies a list of attributes for the window. The list has
        the same structure as described for eglChooseConfig. Attributes that can
        be specified in <attrib_list> include EGL_DIRECT_COMPOSITION_ANGLE,
        EGL_GL_COLORSPACE, EGL_RENDER_BUFFER, EGL_VG_COLORSPACE, and
        EGL_VG_ALPHA_FORMAT."
    
        Add the following between paragraphs 6 and 7 of Section 3.5.1, page 32
        (Creating On-Screen Rendering Surfaces)
    
        "EGL_DIRECT_COMPOSITION_ANGLE specifies whether the surface will be posted
        to the window using DirectComposition. The default is EGL_FALSE. If
        EGL_TRUE is specified, <native_window> must be owned by the current
        process, and contents drawn by native APIs or EGLSurfaces with
        EGL_DIRECT_COMPOSITION_ANGLE as EGL_FALSE will appear underneath the
        contents of this surface."
    
    
        Add the following entry to Table 3.5, page 44 (Queryable surface
        attributes and types)
    
        Attribute                    Type    Description
        ---------------------------- ------- --------------------------------------
        EGL_DIRECT_COMPOSITION_ANGLE boolean Surface will be posted to the window
                                             using DirectComposition
    
    Issues
        1. Should a surface attrib or config be used to specify that
        DirectComposition is needed.
    
        PROPOSED: A surface attrib would work and avoids creating
        otherwise-duplicate configs.
    
    Revision History
    
        Version 2, 2015/12/14
          - Use attrib instead of config.
    
        Version 1, 2015/12/10
          - Initial draft.