Hash :
8a246e12
Author :
Date :
2024-06-04T10:11:07
Roll third_party/dawn/ 9a3d29c78..ff26bfbd4 (88 commits; 2 trivial rolls) https://dawn.googlesource.com/dawn.git/+log/9a3d29c786c6..ff26bfbd4920 $ git log 9a3d29c78..ff26bfbd4 --date=short --no-merges --format='%ad %ae %s' 2024-06-04 dawn-autoroll Roll ANGLE from 166858014f8c to d8c7c4be7320 (11 revisions) 2024-06-04 beaufort.francois dawn.node: Replace GPUAdapter requestAdapterInfo() with info 2024-06-03 penghuang d3d11: use D3D11_COPY_DISCARD for uploading content to textures 2024-06-03 jrprice [msl] Emit continuing inside a new block 2024-06-03 jrprice [msl] Move RenameConflicts to core and use it 2024-06-03 dawn-autoroll Roll Depot Tools from 840e538154a9 to 2a18f6d32454 (1 revision) 2024-06-03 cwallez Use windows_with_undefs.h everywhere in Dawn. 2024-06-03 dsinclair Update some OWNERS files. 2024-06-03 bsheedy Suppress CTS codecs failures 2024-06-03 lehoangquyen Dawn/vk: Implement input attachments in BindGroup. 2024-06-03 ynovikov Suppress Pixel 6 Android 14 failures already suppressed on Android T 2024-06-03 dawn-autoroll Roll vulkan-deps from 975bd14542a4 to a27561991332 (1 revision) 2024-06-03 jimblackler Kotlin versions of objects are AutoCloseable and Dawn *Release methods are called on close. 2024-06-03 jimblackler Add initial version of the Kotlin JNI conversion 2024-06-03 dawn-autoroll Roll ANGLE from 42a61f6e70c9 to 166858014f8c (1 revision) 2024-06-03 dsinclair Run the code formatter. 2024-06-02 dawn-autoroll Roll ANGLE from 1fa6c0208216 to 42a61f6e70c9 (1 revision) 2024-06-01 dawn-autoroll Roll Depot Tools from 3963cc6399e4 to 840e538154a9 (1 revision) 2024-06-01 dawn-autoroll Roll ANGLE from e3cba40e9a67 to 1fa6c0208216 (10 revisions) 2024-06-01 lokokung Roll reclient to 0.143.0.518e369 2024-05-31 dawn-autoroll Roll vulkan-deps from 4a0e77c7168d to 975bd14542a4 (2 revisions) 2024-05-31 dawn-autoroll Roll Depot Tools from 6427b94bc227 to 3963cc6399e4 (2 revisions) 2024-05-31 dawn-autoroll Roll ANGLE from 7b2c62128d44 to e3cba40e9a67 (9 revisions) 2024-05-31 lokokung [dawn][mock] Update ObjectBase::GetInstance to use device override. 2024-05-31 dsinclair Convert std::endl to newlines. 2024-05-31 jimblackler Complete the Kotlin bindings for ART Android Apps 2024-05-31 wong.kl.matthew dawn/node: Add documentation for ASan CMake builds. 2024-05-31 bclayton [tint][fuzz] Use renamer transform if running HLSL output through DXC 2024-05-31 jrprice [ir] Fix consecutive calls in dependency scanner 2024-05-31 arthursonzogni Roll partition_alloc and build dependencies. 2024-05-31 ynovikov Suppress Pixel 6 Android 14 failures already suppressed on Android T 2024-05-31 blundell [Tests] Add validation test of Device::GetAHardwareBufferProperties() 2024-05-31 dawn-autoroll Roll DirectX Shader Compiler from 3a78b6784928 to 978d36221dae (1 revision) 2024-05-31 dawn-autoroll Roll vulkan-deps from f666a6e01c85 to 4a0e77c7168d (4 revisions) 2024-05-31 lokokung [wgpu-headers] Introduce 2nd userdata to get compilation info callback. 2024-05-31 sokcevic [DEPS] Rely on buildtools recursedep to fetch clang-format 2024-05-31 dawn-autoroll Roll ANGLE from 9876d2ce1f0f to 7b2c62128d44 (5 revisions) 2024-05-31 bsheedy [tools][cts] Add results test coverage 2024-05-31 lehoangquyen Update DawnLoadResolveTexture's render pass compatibility spec 2024-05-31 dawn-autoroll Roll Depot Tools from da5e2f948a0e to 6427b94bc227 (3 revisions) 2024-05-31 dsinclair Update ir::builder includes. 2024-05-31 dawn-autoroll Roll SwiftShader from ec5dbd2dfb46 to 4bb94d6c235c (1 revision) 2024-05-30 dsinclair Cleanup some includes 2024-05-30 rharrison Add check for option to tint::glsl::writer::ASTFuzzer 2024-05-30 dsinclair Remove unused inferred template default parameter. 2024-05-30 jrprice [spirv] Fix terminator creation in MergeReturn 2024-05-30 jrprice Revert "[tools] Improvements to 'fuzz'" 2024-05-30 chouinard Remove passing matrix mul overflow expectations 2024-05-30 bclayton [tools] Improvements to 'fuzz' 2024-05-30 bclayton [tint][wgsl][fuzz] Add more to dictionary.txt 2024-05-30 kylechar Add trace events for Vulkan recording/submit 2024-05-30 dawn-autoroll Roll DirectX Shader Compiler from 128e6ce2be8f to 3a78b6784928 (1 revision) 2024-05-30 dawn-autoroll Roll vulkan-deps from 8f291de2f5be to f666a6e01c85 (2 revisions) 2024-05-30 ynovikov Suppress DrawIndexedTest.NegativeBaseVertex on ARM GLES 2024-05-30 jrprice [ir] Fix store target validation highlight 2024-05-30 jrprice [ir] Add RemoveTerminatorArgs transform 2024-05-30 dawn-autoroll Roll ANGLE from c82d910db718 to 9876d2ce1f0f (2 revisions) 2024-05-30 jrprice [tintd] Allow all extensions and features 2024-05-30 dawn-autoroll Roll Depot Tools from 84ef52b4df40 to da5e2f948a0e (8 revisions) 2024-05-30 sunnyps d3d: Delete unused ValidateTextureCanBeWrapped code 2024-05-30 bsheedy Add tools/src format check 2024-05-30 bsheedy Exclude Go dependencies from builders 2024-05-30 dawn-autoroll Roll vulkan-deps from 9fbe42f1f959 to 8f291de2f5be (6 revisions) 2024-05-30 kainino Make sure adapter info/properties tests actually test for UAF 2024-05-29 dawn-autoroll Roll ANGLE from 018188c73303 to c82d910db718 (4 revisions) 2024-05-29 bclayton [tint][resolver] Mark all short-circuited RHS expressions as not-evaluated 2024-05-29 dsinclair [glsl] Reorder GLSL transforms. 2024-05-29 hitawala [YCbCr Samplers] Add SampleTypeBit::External 2024-05-29 dneto Add 'fuzzer' option to build Tint fuzzers in CMake builds 2024-05-29 dawn-autoroll Roll Depot Tools from a85dcffff40e to 84ef52b4df40 (4 revisions) 2024-05-29 jrprice [ir] Fix Disassembly::EmitOperandList() with count 2024-05-29 jrprice [ir] Track BreakIf as a loop exit 2024-05-29 jrprice [ir] Validate loop body with params has initializer 2024-05-29 jrprice [spirv] Do not add exit phi for loop initializer 2024-05-29 jrprice [msl] Implement ShaderIO transform 2024-05-29 bclayton [tint][ir][spirv] Deduplicate storage textures with different accesses 2024-05-29 lehoangquyen Tint: Add support for input_attachment_index in inspector. 2024-05-29 cwallez Add wgpu::SurfaceCapabilities::usages 2024-05-29 senorblanco OpenGLES: baseVertex, baseInstance workaround. 2024-05-29 bclayton Revert "Remove stale WebGPU CTS expectations" 2024-05-29 blundell [Android] Add Device::GetAHardwareBufferProperties() 2024-05-29 beaufort.francois Add wgpuAdapterGetInfo 2024-05-29 dawn-autoroll Roll ANGLE from 0c87d0edb767 to 018188c73303 (12 revisions) 2024-05-29 dawn-autoroll Roll vulkan-deps from 9486d04e3ac1 to 9fbe42f1f959 (1 revision) 2024-05-29 rharrison Add missing bits of build support for libprotobuf-mutator 2024-05-29 dawn-autoroll Roll Depot Tools from 97246c4f73e6 to a85dcffff40e (1 revision) Created with: roll-dep third_party/dawn Bug: angleproject:341220050 Change-Id: I38cf4321d69879596bb9405da30c7f8e8f6669b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5595369 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
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.
| 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 | complete | |
| OpenGL ES 3.1 | incomplete | complete | complete | complete | ||
| OpenGL ES 3.2 | in progress | in progress | complete |
Additionally, OpenGL ES 1.1 is implemented in the front-end using OpenGL ES 3.0 features. This version of the specification is thus supported on all platforms specified above that support OpenGL ES 3.0 with known issues.
| Direct3D 9 | Direct3D 11 | Desktop GL | GL ES | Vulkan | Metal | |
|---|---|---|---|---|---|---|
| Windows | complete | complete | complete | complete | complete | |
| Linux | complete | complete | ||||
| Mac OS X | complete | complete [1] | ||||
| iOS | complete [2] | |||||
| Chrome OS | complete | planned | ||||
| Android | complete | complete | ||||
| GGP (Stadia) | complete | |||||
| Fuchsia | complete |
[1] Metal is supported on macOS 10.14+
[2] Metal is supported on iOS 12+
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:
ANGLE also provides an implementation of the EGL 1.5 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.
ANGLE repository is hosted by Chromium project and can be browsed online or cloned with
git clone https://chromium.googlesource.com/angle/angle
View the Dev setup instructions.
Join our Google group to keep up to date.
Join us on Slack in the #angle channel. You can follow the instructions on the Chromium developer page for the steps to join the Slack channel. For Googlers, please follow the instructions on this document to use your google or chromium email to join the Slack channel.
File bugs in the issue tracker (preferably with an isolated test-case).
Choose an ANGLE branch to track in your own project.
Read ANGLE development documentation.
Become a code contributor.
Use ANGLE’s coding standard.
Learn how to build ANGLE for Chromium development.
Get help on debugging ANGLE.
Go through ANGLE’s orientation and sift through starter projects. If you decide to take on any task, write a comment so you can get in touch with us, and more importantly, set yourself as the “owner” of the bug. This avoids having multiple people accidentally working on the same issue.
Read about WebGL on the Khronos WebGL Wiki.
Learn about the initial ANGLE implementation details in the OpenGL Insights chapter on ANGLE (this is not the most up-to-date ANGLE implementation details, it is listed here for historical reference only) and this ANGLE presentation.
Learn about the past, present, and future of the ANGLE implementation in this presentation.
Watch a short presentation on the Vulkan back-end.
Track the dEQP test conformance
Read design docs on the Vulkan back-end
Read about ANGLE’s testing infrastructure
View information on ANGLE’s supported extensions
If you use ANGLE in your own project, we’d love to hear about it!