119 Commits

Author SHA1 Message Date
Peng Huang 9cc2930453 d3d11: compile d3d11 backend in chromium build
So code search cross ref can work for d3d11 backend. Chrome webgpu
will only discover D3D12 device right now, so this build d3d11
backend should not break things.

Bug: dawn:1705
Change-Id: I2cb6753fe2be1588c9cf1190742f8169164d1662
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/131200
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-05-03 23:42:25 +00:00
Peng Huang 925b77605e d3d11: enable d3d11 by default if it is not built with chromium
Bug: dawn:1705
Bug: dawn:1778
Change-Id: I8d84582f6f9e84676572ecb9c174d0117468888b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130580
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-01 16:13:00 +00:00
Peng Huang b0a1858eb5 Disable d3d11 backend
Bug: dawn:1705
Change-Id: I52dcc190cc54f36c079fa546c7dbc8c456352669
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/127640
Commit-Queue: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-04-20 13:19:59 +00:00
Peng Huang f5966b09e1 d3d11: enable d3d11 if dawn is not build with chromium
This CL enable build d3d11 by default, if dawn is not build with
chromium. d3d11 backend is not full implemented yet, so no tests
will run against d3d11 backend.

Bug: dawn:1705
Change-Id: Id689ab5168511af0f75f0b3537f246713de5ca45
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/127260
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-04-14 02:05:17 +00:00
Peng Huang ebfd505d29 d3d11: implement Adaptor, Backend, etc
This CL also moves some comman code in d3d12::Adapter and
d3d11::Backend to d3d::Adapter and d3d::Backend, so it can be
shared with d3d11 backend.

Bug: dawn:1705
Change-Id: Ica3bf33232d3380b7d4799c77bf9b43a8374a66e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/126220
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-04-03 21:33:54 +00:00
shrekshao 9e03212925 Fix perf_test_runner.py to run with python3
perf_test_runner.py doesn't run properly after recent python migration.
Fix by decoding output (bytes) to string using utf-8 and then re.serach
the string.

Bug: None
Change-Id: Id988d0f5161d0c9edc827a48a3a30f8e60f8f814
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/119080
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
2023-02-08 00:48:37 +00:00
Brandon Jones 61d2cf297a Making SPIR-V ingestion and validation optional
Browsers won't be exposing the ability to pass SPIR-V shaders, and the
ability to consume and validate them is adding a non-trivial amount to
the browser binary size on platforms like Android. To avoid that
overhead, this change puts those features behind a flag so that browser
usage can easily omit them.

Bug: dawn:286
Change-Id: Idf70683f2c4ccf479b723c00ba6914e27e4f765f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117241
Commit-Queue: Brandon Jones <bajones@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-01-19 21:17:42 +00:00
Kenneth Russell 417acaf650 Temporarily disable dawn_use_angle on Android.
It's adding dependencies on ANGLE's libEGL.so and libGLESv2.so which
Chromium's linker on Android doesn't allow. Temporarily disable it
(and, implicitly, WebGPU/Compat) in order to get Dawn's unit and
end2end tests running on the CI bots while this is investigated.

Bug: dawn:286
Bug: dawn:1545
Change-Id: Idd35c4e2b95454dca3faf9c522c028e0ff129e55
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/103300
Reviewed-by: Brandon Jones <bajones@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Kenneth Russell <kbr@google.com>
2022-09-21 19:17:16 +00:00
Brandon Jones 8f3d7711d9 Add Vulkan extensions for AHardwareBuffer support
Just adds the appropriate extensions for AHardwareBuffer support on
Android doesn't yet attempt to expose any.

Bug: dawn:286
Change-Id: I1345d98044bbcaf91cb31235bffbdc28a163c6e0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/101440
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Brandon Jones <bajones@chromium.org>
2022-09-06 22:40:13 +00:00
Loko Kung 7d2b9d9e83 Add alternative method to use a version/git hash from a file.
- This is necessary for Chromium builds from tarballs where git is no longer available. This gives Chromium another option to create the version file when creating the tarball to accomplish the same thing.

Bug: dawn:549
Change-Id: Iffb4bf694b0df1306dd92939353422e5115346a7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/94043
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-06-22 04:19:43 +00:00
Corentin Wallez 2e22d9285c Add support for SurfaceDescriptorFromWaylandSurface
Bug: dawn:1246
Change-Id: I0af28e1820ad8da2121a00bdef7202695d23bbf7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/75422
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2022-06-01 09:30:50 +00:00
dan sinclair fb5a492787 Fix inclusive language presubmit
The current presubmit has the filter inverted so it would only attempt
to match the filtered files. The file name also has to be converted to
`LocalPath` otherwise it's attempting to compare a python object to a
string and always fails to match.

Bug: dawn:1339
Change-Id: Ie7712dee60f6b9df2cb78c9feab11769f7ea1f02
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87080
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
2022-04-19 22:25:45 +00:00
Loko Kung 23d09c6114 Add compute pipeline cache key generation for Vulkan.
- Adds dependency to vulkan-tools for pNext chain helpers.
- Adds extra caching to vulkan shaders to keep the spirv in the in-memory cache as well.
- Adds pNext chain serializer infra for Vulkan.

Change-Id: Ibe73183fbff15f7310eaaeae92fbd622be1ac096
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85022
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
2022-04-09 00:10:08 +00:00
Ryan Harrison e87ac76f7d Merge remote-tracking branch 'tint/main' into HEAD
Integrates Tint repo into Dawn

KIs:
- Building docs for Tint is turned off, because it fails due to lack
  of annotations in Dawn source files.
- Dawn CQ needs to be updated to run Tint specific tests
- Significant post-merge cleanup needed

R=bclayton,cwallez
BUG=dawn:1339

Change-Id: I6c9714a0030934edd6c51f3cac4684dcd59d1ea3
2022-04-06 15:37:27 -04:00
Loko Kung 09100b79d0 Try to use the vulkan-headers from vulkan-deps instead of third_party/khronos.
Change-Id: Ic4af5ec86e4ea2ec404a6e32e49068fc5993d55a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85300
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
2022-04-01 05:22:55 +00:00
Antonio Maiorano 123761f40f Fix scripts/extract.py failing on Windows
Script was opening file in text mode and failing with:

UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position
299: character maps to <undefined>

Fixed by opening file in binary mode.

Change-Id: I4db670438164116d9a41eb9e7e725868037c17fc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/85161
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2022-03-29 16:30:43 +00:00
Stephen White 7c0afdf390 Re-enable compilation of GL backends in Chromium.
Tint's GLSL backend has achieved test parity with the SPIRV-Cross path
for dawn_end2end_tests on both Desktop and ES and we have switched
exclusively to Tint for GLSL generation. Since the SPIRV-Cross
dependency has been removed, there should no longer be any binary size
concerns with the use of these backends in Chrome.

This reverts commit 6ef39372f8.

Bug: dawn:580
Change-Id: I6bcd2ce90c86e77570b4323481870590c6bd1efa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/80300
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2022-02-15 22:16:29 +00:00
Stephen White a52abab38c Nuke SPIRV-Cross.
Change-Id: I1fc58d50ba3999e3a9b6f4e30a0799be301893de
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/79481
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2022-02-11 00:45:51 +00:00
Ben Clayton b01cf60b55 tint->dawn: Fix output_name of dawn_component template
The output library names should keep the 'dawn_' prefix, even when the target doesn't have this.

Bug: dawn:1275
Change-Id: I153c64b96594a05f599d847e455dca967e8ce0f9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/79360
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-02-04 17:53:55 +00:00
Ben Clayton 7d5badd9f4 gn: Trim target prefix from static and shared libraries
If the target name matches the package directory.
Reduces stuttering in target names.

Change-Id: I6cf01ac22c4998f4b862135b13b8503bdd92bdd0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/79080
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2022-02-04 12:51:25 +00:00
Corentin Wallez e0db2b9baf Fix scripts/extract.py for Python3
Bug: None
Change-Id: I460d054be6f54b7724e5cadbd41e485125a97472
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/79060
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2022-02-03 10:32:14 +00:00
Austin Eng 9157c78546 Revert "Don't enable SwiftShader on Linux platforms if X11 is not available"
This reverts commit 50e4140c11.

Reason for revert: SwiftShader on ChromeOS issue has been resolved.

Original change's description:
> Don't enable SwiftShader on Linux platforms if X11 is not available
>
> Compilation currently requires <xcb/xcb.h>
>
> Bug: chromium:1266550, b:209030951
> Change-Id: I2d0b6a36fc252bc141aaac26059b4d8f3150f635
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/77300
> Auto-Submit: Austin Eng <enga@chromium.org>
> Reviewed-by: Loko Kung <lokokung@google.com>
> Commit-Queue: Loko Kung <lokokung@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1266550, b:209030951
Change-Id: I164d081a49b68a2a217251c902a84690287bd0cc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/77645
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
2022-01-21 20:00:18 +00:00
Austin Eng 50e4140c11 Don't enable SwiftShader on Linux platforms if X11 is not available
Compilation currently requires <xcb/xcb.h>

Bug: chromium:1266550, b:209030951
Change-Id: I2d0b6a36fc252bc141aaac26059b4d8f3150f635
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/77300
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
2022-01-20 00:15:57 +00:00
Austin Eng 017f9cc855 Default dawn_use_swiftshader to true
SwiftShader is required to implement WebGPU fallback adapters.

Perf tests are skipped for CPU adapters since they easily timeout
for intensive benchmarks.

Bug: chromium:1266550
Change-Id: Ib6e91da1128baae1770c797a69cf9ad605ea324d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/76421
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2022-01-19 17:32:56 +00:00
Corentin Wallez 5bd9445127 Remove CubeReflection and the dependency on GLM
Bug: None
Change-Id: Ie0948a8c14751777754360d276ce212507b74642
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/72581
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-12-14 08:42:36 +00:00