mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-06-24 15:33:42 +00:00
This CL branches the existing VulkanImageWrappingTests to separate tests for OpaqueFD-backed amd DmaBuf-backed external images. On Chrome OS of Dawn, we no longer interop using opaque FDs, so these tests were failing in the end2end test suite. The new VulkanImageWrappingTestsDmaBuf tests are essentially 1:1 mappings of their counterparts in the Opaque FD version. The only difference is that we allocate memory directly on the device using GBM instead of creating a VkImage (which will likely call some GBM methods under the hood) and then extracting the FD using a Vulkan extension. We then communicate this to Dawn via the DmaBuf ExternalImageDescriptor. Also, this fixes VulkanImageWrappingUsageTests::LargeImage on AMD devices (assuming the extension is implemented) as we can now specify DRM modifiers. Bug: chromium:996470 Change-Id: I2b3c57d7f5ff14131d415e99a09d32d2f16b3e54 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/15800 Commit-Queue: Brian Ho <hob@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org>
Dawn, a WebGPU implementation
Dawn is an open-source and cross-platform implementation of the work-in-progress 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 C/C++ headers that applications and other building blocks use.
- The
webgpu.h
version that Dawn implements. - A C++ wrapper for the
webgpu.h
.
- The
- A "native" implementation of WebGPU using platforms' GPU APIs:
- D3D12 on Windows 10
- Metal on macOS and iOS
- Vulkan on Windows, Linux, ChromeOS, Android and Fuchsia
- OpenGL as best effort where available
- A client-server implementation of WebGPU for applications that are in a sandbox without access to native drivers
Helpful links:
- Dawn's bug tracker if you find issues with Dawn.
- Dawn's mailing list for other discussions related to Dawn.
- Dawn's source code
Documentation table of content
Developer documentation:
User documentation: (TODO, figure out what overlaps with webgpu.h docs)
Status
(TODO)
License
Apache 2.0 Public License, please see LICENSE.
Disclaimer
This is not an officially supported Google product.
Description
CMake-only fork of https://dawn.googlesource.com/dawn with cleaned, vendored dependencies
Languages
C++
59.9%
HLSL
18.2%
GLSL
17.3%
Go
2.1%
Objective-C++
0.8%
Other
1.6%