Edit

kc3-lang/angle

Branch :

  • Show log

    Commit

  • Author : John Plate
    Date : 2021-05-14 21:55:52
    Hash : a7ae63e4
    Message : CL: Move object cast from entry points to stubs and front end Move the OpenCl object cast from the generated entry points to the stubs and front end, to make it possible to properly use static_cast. This removes the limitation that the front end objects have to be standard layout (and makes it possible to use virtual functions), which is consistent with other front end objects. Move the back end initialization from the stubs to the entry point functions, which fixes a bug where the back ends were not initialized during validation. Move more code from the stubs to the front end, to keep the stubs light. Remove unused function `default_return_value` from `generate_entry_points.py`. Bug: angleproject:5904 Change-Id: Id999ad6c537888017bf3252c6f6e088b7d4c7984 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2897245 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>

  • Properties
  • Git HTTP https://git.kmx.io/kc3-lang/angle.git
    Git SSH git@git.kmx.io:kc3-lang/angle.git
    Public ? true
    Name
    Description

    A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

    Homepage

    Github

    Users
    -
    +
    thodg git_deploy kc3_lang_org thodg_l thodg_m thodg_w www_kmx_io
    Tags

  • README.md
  • ANGLE - Almost Native Graphics Layer Engine

    The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0, 3.0 and 3.1 to Vulkan, desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Future plans include ES 3.2, translation to Metal and MacOS, Chrome OS, and Fuchsia support.

    Level of OpenGL ES support via backing renderers

    | | Direct3D 9 | Direct3D 11 | Desktop GL | GL ES | Vulkan | Metal | |----------------|:-------------:|:----------------:|:--------------:|:-------------:|:-------------:|:-------------:| | OpenGL ES 2.0 | complete | complete | complete | complete | complete | complete | | OpenGL ES 3.0 | | complete | complete | complete | complete | in progress | | OpenGL ES 3.1 | | incomplete | complete | complete | complete | | | OpenGL ES 3.2 | | | in progress | in progress | in progress | |

    Platform support via backing renderers

    | | Direct3D 9 | Direct3D 11 | Desktop GL | GL ES | Vulkan | Metal | |-------------:|:--------------:|:--------------:|:-------------:|:-----------:|:-----------:|:-----------:| | Windows | complete | complete | complete | complete | complete | | | Linux | | | complete | | complete | | | Mac OS X | | | complete | | | in progress | | iOS | | | | | | planned | | Chrome OS | | | | complete | planned | | | Android | | | | complete | complete | | | GGP (Stadia) | | | | | complete | | | Fuchsia | | | | | complete | |

    ANGLE v1.0.772 was certified compliant by passing the OpenGL ES 2.0.3 conformance tests in October 2011.

    ANGLE has received the following certifications with the Vulkan backend:

    • OpenGL ES 2.0: ANGLE 2.1.0.d46e2fb1e341 (Nov, 2019)
    • OpenGL ES 3.0: ANGLE 2.1.0.f18ff947360d (Feb, 2020)
    • OpenGL ES 3.1: ANGLE 2.1.0.f5dace0f1e57 (Jul, 2020)

    ANGLE also provides an implementation of the EGL 1.4 specification.

    ANGLE is used as the default WebGL backend for both Google Chrome and Mozilla Firefox on Windows platforms. Chrome uses ANGLE for all graphics rendering on Windows, including the accelerated Canvas2D implementation and the Native Client sandbox environment.

    Portions of the ANGLE shader compiler are used as a shader validator and translator by WebGL implementations across multiple platforms. It is used on Mac OS X, Linux, and in mobile variants of the browsers. Having one shader validator helps to ensure that a consistent set of GLSL ES shaders are accepted across browsers and platforms. The shader translator can be used to translate shaders to other shading languages, and to optionally apply shader modifications to work around bugs or quirks in the native graphics drivers. The translator targets Desktop GLSL, Vulkan GLSL, Direct3D HLSL, and even ESSL for native GLES2 platforms.

    Sources

    ANGLE repository is hosted by Chromium project and can be browsed online or cloned with

    git clone https://chromium.googlesource.com/angle/angle
    

    Building

    View the Dev setup instructions.

    Contributing