commit | f6782a4472d2d205d0a715b76f3c5c45fe3e9e27 | [log] [tgz] |
---|---|---|
author | Corentin Wallez <cwallez@chromium.org> | Mon Jul 15 20:43:20 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Jul 15 20:43:20 2024 +0000 |
tree | d971d09dc3b7b70992e49eab3a89e36c155e6ad2 | |
parent | 6d719a69928a08dca20920404851045460757cb8 [diff] |
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.