This is a reland of fb0bf70459
Reland after making libx11-xcb dynamically loaded since it isn't present
on all Linux deployment targets of Chromium. Also includes a couple of
additional cosmetic changes to d3d12/PlatformFunctions noticed while
looking at it for inspiration.
Original change's description:
> Vulkan: Fallback to XCB for Xlib surfaces
>
> Chromium builds the Vulkan loader without support Xlib (because it
> prefers XCB) which caused Xlib wgpu::SwapChain creation to fail on the
> Vulkan backend.
>
> This CL adds a fallback to use VK_KHR_xcb_surface if VK_KHR_xlib_surface
> isn't present.
>
> Bug: dawn:662
> Change-Id: I0e0128ee6b5c75da03998dbae231d17e48bacc81
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41180
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Austin Eng <enga@chromium.org>
> Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Bug: dawn:662
Change-Id: I617fcd1059dddfa05c29ac20d77f891ca6962342
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41380
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Tint automatically infers a storage class of `handle` for these types
of variable, as per the WGSL spec. Explicitly specifying a storage
class for them will soon become an error.
Bug: tint:332
Change-Id: Ib67e44a5afcdd364470488fd4b456a2b42304daa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41402
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Currently the queries availability info is only stored on the encoders
where they are written, and we need the info in the compute shader. If
resolving them from a different encoder, 0s are returned because the
queries are not written on resolving encoder.
Besides the encoders, we also need to add availability info to query
set, and use it in compute shader instead.
When resolving query set without any written, we need to reset queries
before resolveQuerySet based on the query set availability on Vulkan.
Added more end2end tests for these cases.
Bug: dawn:645
Change-Id: I09bf1230934aa885587fa4f671925940c1795cd9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39740
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
Sample mask variables and all functionality introduced by GL_OES_sample_variables was not made core until ES 3.2.
Implement a toggle to disable the functionality if not supported by the backend.
Bug: dawn:673
Change-Id: I7a5ec61fb57da343f0f72ffd3b0c69031eaaff8f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41142
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Readback of stencil is not supported on vanilla ES, so we introduce a toggle to disable it. NVidia GLES drivers support NV_stencil_read and NV_depth_stencil_read extensions, so we use those where available.
It turns out ANGLE supports NV_stencil_read but not NV_depth_stencil_read (for reading from the packed depth/stencil buffers which Dawn uses), so that's the extension we check for.
Bug: dawn:667 dawn:634
Change-Id: I136674d3d47fecee2b8b390d5d219bab07e3bb64
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41141
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Chromium builds the Vulkan loader without support Xlib (because it
prefers XCB) which caused Xlib wgpu::SwapChain creation to fail on the
Vulkan backend.
This CL adds a fallback to use VK_KHR_xcb_surface if VK_KHR_xlib_surface
isn't present.
Bug: dawn:662
Change-Id: I0e0128ee6b5c75da03998dbae231d17e48bacc81
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41180
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
SNORM textures are non-renderable on vanilla ES, which means they're also
non-readable. Use the EXT_render_snorm extension where available, otherwise
skip the test for now.
Bug: dawn:624 dawn:636 dawn:647 dawn:667
Change-Id: Ic50368032d6168060b6b52889b4ba952ce662f02
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40420
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Can be used to help with deprecation during simple struct renames.
Includes typedefs for VertexAttributeDescriptor -> VertexAttribute and
VertexBufferLayoutDescriptor -> VertexBufferLayout as specified by the
latest RenderPipelineDescriptor changes.
Bug: dawn:642
Change-Id: Iab3d74d179884499540e813b0e66859713031ccb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40581
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
The wire now supports more than one device, and Chrome is updated
to use the new code path. This fixes same-device validation for
createReadyPipeline.
Bug: dawn:565
Change-Id: Id05001ed1a7e535690c87f535da6f72a0e794c59
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40460
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Adds support for NV12 texture format and per plane view aspects.
Only allows planar sampling of imported DX11 textures. See usage
tests for examples and formats.h for rules.
Bug: dawn:551
Change-Id: I44b89d2c07bb9969638e77ce7c756ef367167f0c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38781
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Roll build/ 3769c3b43..6fa63e6b1 (136 commits; 1 trivial rolls)
3769c3b43c..6fa63e6b15
$ git log 3769c3b43..6fa63e6b1 --date=short --no-merges --format='%ad %ae %s'
2021-02-04 thakis Revert "clang tot bots: Temporarily make -Warray-bounds not an error"
2021-02-04 chromium-autoroll Roll Fuchsia SDK from 0.20210203.2.1 to 0.20210204.0.1
2021-02-04 svenzheng Add strip_binary and strip_binary_chrome target
2021-02-03 chromium-autoroll Roll Fuchsia SDK from 0.20210203.1.1 to 0.20210203.2.1
2021-02-03 bjoyce Add size info files to builds
2021-02-03 thakis clang tot bots: Temporarily make -Warray-bounds not an error
2021-02-03 thomasanderson [Linux Sysroot] Remove pipewire header workaround
2021-02-03 wez [fuchsia] Remove opt-out from RELR packing dynamic relocation segments.
2021-02-03 agrieve Android: Never sign .aab files
2021-02-03 chromium-autoroll Roll Fuchsia SDK from 0.20210202.3.1 to 0.20210203.1.1
2021-02-03 aeubanks Reland again: Pin to LLVM's legacy pass manager
2021-02-03 chromium-autoroll Roll Fuchsia SDK from 0.20210202.2.1 to 0.20210202.3.1
2021-02-03 guterman Revert "Proof of concept for test selection via GN"
2021-02-03 thakis win toolchain: Remove assumption about relative path from setenv json file to toolchain root.
2021-02-02 findit-for-me Revert "Reland: Pin to LLVM's legacy pass manager"
2021-02-02 aeubanks Reland: Pin to LLVM's legacy pass manager
2021-02-02 wnwen Android: Add a build server for analysis tasks
2021-02-02 chromium-autoroll Roll Fuchsia SDK from 0.20210202.0.1 to 0.20210202.2.1
2021-02-02 grulja Remove PipeWire 0.2 from sysroot
2021-02-02 raphael.kubo.da.costa Make //build/linux compatible with Python 3.
2021-02-02 mheikal Android:Remove deprecated create_srcjar gn android_resources knob
2021-02-02 chromium-autoroll Roll Fuchsia SDK from 0.20210201.3.2 to 0.20210202.0.1
2021-02-02 fangzhoug Revert "Lacros: Flip OS_LINUX and OS_CHROMEOS on lacros."
2021-02-02 cduvall Avoid separate manifest for autofill_assistant in Trichrome
2021-02-02 steveroe [fuchsia] Switch from zstd to the Fuchsia SDK blobfs-compression utility.
2021-02-02 aeubanks Revert "Make optimize_max -Os when optimize_for_size"
2021-02-02 chromium-autoroll Roll Fuchsia SDK from 0.20210201.1.1 to 0.20210201.3.2
2021-02-02 findit-for-me Revert "Pin to LLVM's legacy pass manager"
2021-02-01 mheikal Reuse prepare_resources' generated R.txt files in java_library_impl
2021-02-01 aeubanks Pin to LLVM's legacy pass manager
2021-02-01 liaoyuke Lacros: Move binary size to a separate builder
2021-02-01 chromium-autoroll Roll Fuchsia SDK from 0.20210131.3.1 to 0.20210201.1.1
2021-02-01 chromium-autoroll Roll Fuchsia SDK from 0.20210131.2.1 to 0.20210131.3.1
2021-01-31 chromium-autoroll Roll Fuchsia SDK from 0.20210131.1.1 to 0.20210131.2.1
2021-01-31 chromium-autoroll Roll Fuchsia SDK from 0.20210130.3.1 to 0.20210131.1.1
2021-01-31 chromium-autoroll Roll Fuchsia SDK from 0.20210129.3.1 to 0.20210130.3.1
2021-01-30 chromium-autoroll Roll Fuchsia SDK from 0.20210129.2.1 to 0.20210129.3.1
2021-01-30 liaoyuke Lacros: Change builder name and move out of fyi
2021-01-30 ythjkt Lacros: Flip OS_LINUX and OS_CHROMEOS on lacros.
2021-01-30 cduvall Fix typo in proguard.py
2021-01-29 chromium-autoroll Roll Fuchsia SDK from 0.20210129.0.1 to 0.20210129.2.1
2021-01-29 brucedawson Add an option to put full PDB paths in PE files
2021-01-29 denik Reland "Extend the targets of debug_fission with ThinLTO"
2021-01-29 chromium-autoroll Roll Fuchsia SDK from 0.20210128.2.2 to 0.20210129.0.1
2021-01-29 chonggu [Fuchsia] Enable code coverage for Cr-Fuchsia test targets.
2021-01-29 findit-for-me Revert "Roll src/buildtools/third_party/libc++/trunk/ d9040c75c..69897abe2 (1149 commits)"
2021-01-29 bpastene chromeos: Make the test runner and its tests py3-compatible.
2021-01-29 chromium-autoroll Roll Fuchsia SDK from 0.20210128.1.1 to 0.20210128.2.2
2021-01-28 dullweber Split grouped tests by Feature annotation
2021-01-28 aeubanks Make optimize_max -Os when optimize_for_size
(...)
2021-01-22 wnwen Android: Remove md5_check for compile_resources.py
2021-01-22 chromium-autoroll Roll Fuchsia SDK from 0.20210121.3.1 to 0.20210122.1.1
2021-01-22 cwallez tool_wrapper.py: Use bytes in ExecLinkWrapper
2021-01-22 chromium-autoroll Roll Fuchsia SDK from 0.20210121.2.1 to 0.20210121.3.1
2021-01-22 bjoyce Fix test_log possibly being too large.
2021-01-22 agrieve Android: Plumb enabled_proguard_obfuscation to L8
2021-01-21 chromium-autoroll Roll Fuchsia SDK from 0.20210121.0.1 to 0.20210121.2.1
2021-01-21 wnwen Android: Add more java build configs to depfile
2021-01-21 steveroe [fuchsia] Exclude ICU component blobs from package size calculation.
2021-01-21 hans [build] Only apply thin_lto_enable_optimizations to select targets
2021-01-21 chromium-autoroll Roll Fuchsia SDK from 0.20210120.3.1 to 0.20210121.0.1
2021-01-21 liaoyuke Fix undefined gn variables in ebuild
2021-01-21 agrieve Add libstdc++.so.6 as data for llvm-symbolizer
2021-01-21 chromium-autoroll Roll Fuchsia SDK from 0.20210120.1.1 to 0.20210120.3.1
2021-01-20 agrieve Android: Add missing build edge for DFM build configs
2021-01-20 chromium-autoroll Roll Fuchsia SDK from 0.20210119.2.1 to 0.20210120.1.1
2021-01-20 ajgo Set enable_cet_shadow_stack for Windows x64
2021-01-20 chromium-autoroll Roll Fuchsia SDK from 0.20210119.1.1 to 0.20210119.2.1
2021-01-20 ythjkt Lacros: Remove complete-member-pointers flag from lacros.
2021-01-19 wnwen Android: Use fine-grain dependencies for desugar
2021-01-19 liaoyuke Reland "Lacros: create lacros tast test targets"
2021-01-19 hans build: Remove last leftover -enable-dse-memoryssa=false flag
2021-01-19 hans [build] Enable the ThinLTO cache also on Windows
2021-01-19 chromium-autoroll Roll Fuchsia SDK from 0.20210118.3.1 to 0.20210119.1.1
2021-01-19 chromium-autoroll Roll Fuchsia SDK from 0.20210118.2.1 to 0.20210118.3.1
2021-01-18 chromium-autoroll Roll Fuchsia SDK from 0.20210118.0.1 to 0.20210118.2.1
2021-01-18 pkotwicz [Build] Make Android Lint Tests Better Integration Tests
2021-01-18 thakis mac: Update hermetic Xcode to 12.3 and production SDK to 11.1.
2021-01-18 chromium-autoroll Roll Fuchsia SDK from 0.20210117.3.1 to 0.20210118.0.1
2021-01-18 chromium-autoroll Roll Fuchsia SDK from 0.20210116.0.1 to 0.20210117.3.1
2021-01-17 chromium-autoroll Roll Fuchsia SDK from 0.20210115.2.1 to 0.20210116.0.1
2021-01-17 thakis mac: Don't use rsp files with libtool either
2021-01-16 denik Extend the targets of debug_fission with ThinLTO
2021-01-15 jamescook lacros: Enable the crosapi mojo interface in interactive_ui_tests
2021-01-15 chromium-autoroll Roll Fuchsia SDK from 0.20210115.0.1 to 0.20210115.2.1
2021-01-15 wnwen Android: Use d8's desugar dependencies
2021-01-15 liaoyuke Revert "Lacros: create lacros tast test targets"
2021-01-15 liaoyuke Lacros: create lacros tast test targets
2021-01-15 chromium-autoroll Roll Fuchsia SDK from 0.20210114.3.1 to 0.20210115.0.1
2021-01-15 chromium-autoroll Roll Fuchsia SDK from 0.20210114.1.1 to 0.20210114.3.1
2021-01-15 bjoyce Escape characters in uploaded summary.
2021-01-14 agrieve apk_operations.py: Use //third_party/jdk for apksigner
2021-01-14 steveroe [fuchsia] Make fuchsia size test pass or fail depending on package sizes.
2021-01-14 chromium-autoroll Roll Fuchsia SDK from 0.20210111.3.1 to 0.20210114.1.1
2021-01-14 jwata [build] remove unused Swarming xcode install scripts
2021-01-14 ythjkt Lacros: Remove deprecated gn/macro variable names.
2021-01-13 hans build: Remove leftover -enable-dse-memoryssa=false flag
2021-01-13 yukishiino Revert "Roll Fuchsia SDK from 0.20210111.3.1 to 0.20210112.3.1"
2021-01-13 chromium-autoroll Roll Fuchsia SDK from 0.20210111.3.1 to 0.20210112.3.1
2021-01-12 ntfschr Android: print bundletool output
Roll buildtools/ 235cfe435..fc5af1ac7 (13 commits; 2 trivial rolls)
235cfe435c..fc5af1ac75
$ git log 235cfe435..fc5af1ac7 --date=short --no-merges --format='%ad %ae %s'
2021-02-02 olaola Updating re-client tooling version to 0.19.3.
2021-01-29 findit-for-me Revert "Roll src/buildtools/third_party/libc++/trunk/ d9040c75c..69897abe2 (1149 commits)"
2021-01-27 peconn 🍱 Add example regex for Java test DEPS.
2021-01-26 twellington Update checkdeps trailing slash failure message
2021-01-26 dpranke Roll GN from d62642c9..55ad154c
2021-01-26 olaola Upgrading reclient version to 0.19.2.
2021-01-25 olaola Bugfix: download reclient binaries on Windows
2021-01-25 hans DEPS: Pull clang-format scripts from the new mirror
2021-01-21 msavigny Add third_party/llvm-build/Release+Asserts to remote inputs.
2021-01-20 msavigny Change the default execution strategy for reclient.
2021-01-15 dpranke Roll GN from 595e3be7..1b4a9dfc
Roll tools/clang/ b12d1c836..aecd85e06 (34 commits)
b12d1c836e..aecd85e062
$ git log b12d1c836..aecd85e06 --date=short --no-merges --format='%ad %ae %s'
2021-02-04 keishi Force include blink common/ dirs in the rewrite_raw_ptr_fields rewrite
2021-02-03 omerkatz heap: Fix clang plugin build
2021-02-03 keishi Exclude TargetProcess::base_address_ from rewrite_raw_ptr_fields
2021-02-03 keishi Exclude PlatformSharedMemoryMapping::base_ from rewrite_raw_ptr_fields
2021-02-03 omerkatz heap: Fix plugin bug for cppgc builds
2021-02-03 omerkatz heap: Update clang plugin for cppgc library
2021-02-03 keishi Revert "Treat CheckedPtr specially in FindBadConstructsConsumer"
2021-02-03 keishi Treat CheckedPtr specially in FindBadConstructsConsumer
2021-02-03 thakis clang build script: Try to unbreak build after NDK update
2021-02-01 keishi Add fields to ignore in rewrite_raw_ptr_fields
2021-02-01 zequanwu Revert "Download and run update.py from build.py"
2021-02-01 glazunov [CheckedPtr] Update manual ignore list
2021-02-01 zequanwu Download and run update.py from build.py
2021-01-29 hans Update TranslationUnitGenerator.cpp for upstream change
2021-01-29 hans Fix clang's build.py GetCommitDescription() on windows
2021-01-28 hans Fix Blink GC plugin after Clang API change
2021-01-28 hans Clang: the tip-of-tree version is now 13.0.0
2021-01-28 rnk Update blink GC plugin for Clang API change
2021-01-27 lukasza Fixing test expectations to match ToT behavior.
2021-01-27 lukasza Skip fields of a struct that is used in `reinterpret_cast`.
2021-01-23 bartekn Add MiraclePtr team to OWNERS of related files
2021-01-22 glazunov [BackupRefPtr] Support pointers past the end of allocation
2021-01-22 thakis Roll clang llvmorg-12-init-16548-gf1d5cbbd-1 : llvmorg-12-init-17251-g6de48655-1.
2021-01-20 keishi Exclude BigEndianWriter::ptr_ from rewrite_raw_ptr_fields
2021-01-20 keishi Fix BackupRefPtr 32bit builds
2021-01-19 hans mac: Update clang build script for the SDK 11.1 bump
2021-01-19 thakis clang roll script: Remove linux_chromium_chromeos_asan_rel_ng from cq bots.
2021-01-19 thakis Roll clang llvmorg-12-init-16296-g5e476061-2 : llvmorg-12-init-16548-gf1d5cbbd-1.
2021-01-19 keishi Add chrome/install_static to manual-paths-to-ignore.txt
2021-01-18 hans Rebuild the clang package with a newer GCC version
2021-01-15 keishi Revert deletion of "const-char" filtering rule
2021-01-15 keishi Exclude fields being used with cbor decoder's ELEMENT() macro from rewrite_raw_ptr
2021-01-15 keishi Add win build detection to rewrite_raw_ptr_fields/rewrite.sh
2021-01-14 ramyan [Project Code Inclusion] Remove use of blacklist
Created with:
roll-dep build buildtools tools/clang
Change-Id: I3d67c9321af24814c8d26ecd768c1821333dc4cc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40380
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Re-enables Intel D3D12 GPU-based validation bots. This comes after the
--enable-backend-validation=partial option was introduced and the bot
configurations were changed to make use of it.
Bug: dawn:598
Change-Id: I9f5c5111340aeefa729e0d2fd26f9f884813eb3a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40481
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Refactors DawnTest's backend validation options to use an enum, as well
as adds the 'partial' option enable backend validation with a
reduced performance overhead to address TDR issues on the bots.
Bug: dawn:598
Change-Id: I759eff03bd117f1f20ad82aa2b71a87834f42b1d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40000
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
- Add more end2end tests for direct and indirect dispatches, including
0x0x0, 0xNxM, Nx0xM, NxMx0
- For direct dispatch, they will cause system crash on Metal backend.
Bug: dawn:640
Change-Id: I77a4bee87df89857b05b713de8d78b0cb1f0ca50
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39520
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
Functions like CreateReadyRenderPipeline reserve an
ObjectId for the pipeline created but the Id can not be
used until the callback is called successfully.
Bug: chromium:1172774, chromium:1172775
Change-Id: I145c0f033a2bde7957d15da2da8b9b19c6520ceb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39840
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>