Edit

kc3-lang/angle/scripts/egl_angle_ext.xml

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2020-11-19 14:36:16
    Hash : 3efa290d
    Message : EGL: Auto-generate validation header. This is a first step towards auto-generating more EGL code. It includes format handling for all the EGL parameter types, type reinterpretation for EGL types using the "packed enum" handling, and code refactoring to support the new consistent validation entry point pattern. Bug: angleproject:2621 Change-Id: I2740e82928db311aa934825cbe74bd75bf49c33c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552976 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>

  • scripts/egl_angle_ext.xml
  • <?xml version="1.0" encoding="UTF-8"?>
    <registry>
        <comment>
        Copyright 2018 The ANGLE Project Authors. All rights reserved.
        Use of this source code is governed by a BSD-style license that can be
        found in the LICENSE file.
    
        egl_angle_ext.xml
            Includes data used to auto-generate ANGLE classes.
        </comment>
        <!-- SECTION: EGL command definitions. -->
        <commands namespace="EGL">
            <command>
                <proto><ptype>EGLDeviceEXT</ptype> <name>eglCreateDeviceANGLE</name></proto>
                <param><ptype>EGLint</ptype> <name>device_type</name></param>
                <param>void *<name>native_device</name></param>
                <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
            </command>
            <command>
                <proto><ptype>EGLBoolean</ptype> <name>eglReleaseDeviceANGLE</name></proto>
                <param><ptype>EGLDeviceEXT</ptype> <name>device</name></param>
            </command>
            <command>
                <proto><ptype>EGLBoolean</ptype> <name>eglCreateStreamProducerD3DTextureANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
                <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
            </command>
            <command>
                <proto><ptype>EGLBoolean</ptype> <name>eglStreamPostD3DTextureANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
                <param>void *<name>texture</name></param>
                <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
            </command>
            <command>
                <proto><ptype>EGLBoolean</ptype> <name>eglGetMscRateANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLSurface</ptype> <name>surface</name></param>
                <param><ptype>EGLint</ptype> *<name>numerator</name></param>
                <param><ptype>EGLint</ptype> *<name>denominator</name></param>
            </command>
            <command>
                <proto><ptype>EGLBoolean</ptype> <name>eglGetSyncValuesCHROMIUM</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLSurface</ptype> <name>surface</name></param>
                <param><ptype>EGLuint64KHR</ptype> *<name>ust</name></param>
                <param><ptype>EGLuint64KHR</ptype> *<name>msc</name></param>
                <param><ptype>EGLuint64KHR</ptype> *<name>sbc</name></param>
            </command>
            <command>
                <proto><ptype>EGLint</ptype> <name>eglProgramCacheGetAttribANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLenum</ptype> <name>attrib</name></param>
            </command>
            <command>
                <proto>void <name>eglProgramCacheQueryANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLint</ptype> <name>index</name></param>
                <param>void *<name>key</name></param>
                <param><ptype>EGLint</ptype> *<name>keysize</name></param>
                <param>void *<name>binary</name></param>
                <param><ptype>EGLint</ptype> *<name>binarysize</name></param>
            </command>
            <command>
                <proto>void <name>eglProgramCachePopulateANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param>const void *<name>key</name></param>
                <param><ptype>EGLint</ptype> <name>keysize</name></param>
                <param>const void *<name>binary</name></param>
                <param><ptype>EGLint</ptype> <name>binarysize</name></param>
            </command>
            <command>
                <proto><ptype>EGLint</ptype> <name>eglProgramCacheResizeANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLint</ptype> <name>limit</name></param>
                <param><ptype>EGLint</ptype> <name>mode</name></param>
            </command>
            <command>
                <proto><ptype>const char *</ptype> <name>eglQueryStringiANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLint</ptype> <name>name</name></param>
                <param><ptype>EGLint</ptype> <name>index</name></param>
            </command>
            <command>
                <proto><ptype>EGLBoolean</ptype> <name>eglDisplayAttribANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLint</ptype> <name>attribute</name></param>
                <param><ptype>EGLAttrib *</ptype> <name>value</name></param>
            </command>
            <command>
                <proto><pytpe>EGLBoolean</pytpe> <name>eglSwapBuffersWithFrameTokenANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLSurface</ptype> <name>surface</name></param>
                <param><ptype>EGLFrameTokenANGLE</ptype> <name>frametoken</name></param>
            </command>
            <command>
                <proto><pytpe>void</pytpe> <name>eglReleaseHighPowerGPUANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLContext</ptype> <name>ctx</name></param>
            </command>
            <command>
                <proto><pytpe>void</pytpe> <name>eglReacquireHighPowerGPUANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLContext</ptype> <name>ctx</name></param>
            </command>
            <command>
                <proto><pytpe>void</pytpe> <name>eglHandleGPUSwitchANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
            </command>
            <command>
                <proto><ptype>EGLBoolean</ptype> <name>eglQueryDisplayAttribANGLE</name></proto>
                <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
                <param><ptype>EGLint</ptype> <name>attribute</name></param>
                <param><ptype>EGLAttrib *</ptype> <name>value</name></param>
            </command>
        </commands>
        <!-- SECTION: ANGLE extension interface definitions -->
        <extensions>
            <extension name="EGL_ANGLE_device_creation" supported="egl">
                <require>
                    <command name="eglCreateDeviceANGLE"/>
                    <command name="eglReleaseDeviceANGLE"/>
                </require>
            </extension>
            <extension name="EGL_ANGLE_feature_control" supported="egl">
                <require>
                    <command name="eglQueryStringiANGLE"/>
                    <command name="eglQueryDisplayAttribANGLE"/>
                </require>
            </extension>
            <extension name="EGL_ANGLE_stream_producer_d3d_texture" supported="egl">
                <require>
                    <command name="eglCreateStreamProducerD3DTextureANGLE"/>
                    <command name="eglStreamPostD3DTextureANGLE"/>
                </require>
            </extension>
            <extension name="EGL_CHROMIUM_sync_control" supported="egl">
                <require>
                    <command name="eglGetSyncValuesCHROMIUM"/>
                </require>
            </extension>
            <extension name="EGL_ANGLE_sync_control_rate" supported="egl">
                <require>
                    <command name="eglGetMscRateANGLE"/>
                </require>
            </extension>
            <extension name="EGL_ANGLE_program_cache_control" supported="egl">
                <require>
                    <command name="eglProgramCacheGetAttribANGLE"/>
                    <command name="eglProgramCacheQueryANGLE"/>
                    <command name="eglProgramCachePopulateANGLE"/>
                    <command name="eglProgramCacheResizeANGLE"/>
                </require>
            </extension>
            <extension name="EGL_ANGLE_swap_with_frame_token" supported="egl">
                <require>
                    <command name="eglSwapBuffersWithFrameTokenANGLE"/>
                </require>
            </extension>
            <extension name="EGL_ANGLE_power_preference" supported="egl">
                <require>
                    <command name="eglReleaseHighPowerGPUANGLE"/>
                    <command name="eglReacquireHighPowerGPUANGLE"/>
                    <command name="eglHandleGPUSwitchANGLE"/>
                </require>
            </extension>
        </extensions>
    </registry>