opengl: Add support for EGL 1.4 without EGL_KHR_create_context The main difference is that we cannot request a minimum context version without this extension, only "GLES 2.0 or above pls". Work around this by not using the MAJOR/MINOR_VERSION enums in context attribs, and validating after the fact that we got a high enough GL version. Also fix a use-after-free in the PhysicalDeviceGL initialization path when a failure happens inside PhysicalDeviceGL::InitializeImpl: the DAWN_TRY_WITH_CLEANUP in PhysicalDeviceGL::Create would destroy the ContextEGL before the DisplayEGL. (and ContextEGL would dereference the DisplayEGL to get the display to destroy the EGLContext). Fixed: 42241384 Change-Id: Id0fe2267b19e6fd9b7201843757a0d199e0a70f8 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/197695 Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Dawn is an open-source and cross-platform implementation of the WebGPU standard. More precisely it implements webgpu.h that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h version that Dawn implements.webgpu.h.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.