Commit Graph

4538 Commits

Author SHA1 Message Date
Austin Eng ae2415c6f5 Trace MTLCommandBuffer acquisition and submission on Metal
Bug: chromium:958013
Change-Id: I31b8934247bf43b67956f574b97fb38fa2a9753c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10161
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-16 03:02:43 +00:00
Natasha Lee 5f8a8aadb9 Vulkan: clear nonrenderable texture color formats
Clears nonrenderable color formats and adds a clearValue enum to help
share the code path between zero and nonzero clears.

Bug: dawn:145
Change-Id: I285521cae0ee71625602b949888b21481a05fb8e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10021
Commit-Queue: Natasha Lee <natlee@microsoft.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-14 23:11:42 +00:00
Bryan Bernhart c072fc2653 Define OutOfMemory error
Used to replace CONTEXT_LOST when allocation fails.

BUG=dawn:152

Change-Id: I1b8d0061f2915df71f263e0712dba3d47d08e2b3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10060
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2019-08-14 18:52:12 +00:00
Austin Eng 40618d0b93 Implement RenderBundle in the backend
Bug: dawn:154
Change-Id: I45496fb2103150dabe32fbc7cb5856dc40c9339f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9222
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2019-08-14 02:01:14 +00:00
Brian Ho 0ebd54cf38 Update BUILD flags to support Chrome OS
This CL updates a few flags to support Chrome OS:

- Disables the OpenGL backend on Chrome OS builds.
- Removes the X11 dependency for Chrome OS builds because we do not
support X11.
- Removes the XCB dependency (again, no X11).

BUG=chromium:993457
TEST=e2e and unit tests build and pass on Intel Chrome OS devices

Change-Id: I1cb06453ccc94d1b68a6998ea635bddd6fb7b5ad
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10100
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-13 22:45:14 +00:00
Ryan Harrison 79e6ab7631 Rolling 2 dependencies
Roll third_party/SPIRV-Tools/ 29af42df1..f701237f2 (6 commits)

29af42df12..f701237f2d

$ git log 29af42df1..f701237f2 --date=short --no-merges --format='%ad %ae %s'
2019-08-12 stevenperron Remove useless semi-colons (#2789)
2019-08-09 greg Instrument: Fix version 2 output record write for tess eval shaders. (#2782)
2019-08-08 stevenperron Start SPIRV-Tools v2019.5
2019-08-08 stevenperron Finalize SPIRV-Tools v2019.4
2019-08-08 stevenperron Add descriptor array scalar replacement (#2742)
2019-08-08 stevenperron Update CHANGES

Roll third_party/glslang/ 3cea2e588..37fc4d27d (4 commits)

3cea2e5882..37fc4d27d6

$ git log 3cea2e588..37fc4d27d --date=short --no-merges --format='%ad %ae %s'
2019-08-09 rharrison Make non-emscripten flags platform agnostic.
2019-08-09 rharrison Converted ENABLE_HLSL to a dependent option, so it can be always disabled in web builds
2019-08-09 rharrison Move build instructions to README.md
2019-08-08 rharrison Add WASM build target for Web version of glslang

Created with:
  roll-dep third_party/SPIRV-Tools third_party/glslang third_party/shaderc third_party/spirv-cross third_party/spirv-headers

Change-Id: Ic09942c1a4d64d8ae5f158d0932b15f784c1f980
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10061
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-13 22:44:34 +00:00
Austin Eng 8a488c1574 Implement RenderBundle in the frontend
This CL implements RenderBundle and RenderBundleEncoder in the frontend
and adds unittests for validation.

Bug: dawn:154
Change-Id: Ice5ecd384cd627ad270b73052408f8139d1ea5f4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9221
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-13 22:12:54 +00:00
Brian Ho 2fb628da46 Remove GLFW dependency for non-GL tests
As part of enabling WebGPU on Chrome OS, we would like to run the Dawn
unit and e2e tests as part of the Chrome OS test suite. This CL removes
the GLFW dependency because Chrome OS does not support GLFW.

The GLFWwindow is only used to create swap chains for the various
backends, but these swap chains are not actually used in the tests
(the e2e tests render to textures instead). The swap chains are only
referenced as part of an unused debugging function:
SwapBuffersForCapture which we can safely remove as per my discussions
with kainino@ and enga@.

We still need GLFW for OpenGL, so we conditionally include it on
platforms that enable the OpenGL backend (which Chrome OS is not).

Note: enga@ suggested to create a VulkanWindowlessBinding that has an
empty GetSwapChainImplementation, but after exploring the option, it
seems like a bit too many ifdefs. In the end, I think it's cleaner to
just remove the *Binding classes entirely.

BUG=chromium:993457
TEST=tests compile and pass for all values of dawn_enable_opengl

Change-Id: I067b12a23f2c236f5506252cd7727b847e79a667
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10080
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Brian Ho <hob@chromium.org>
2019-08-13 21:45:44 +00:00
Austin Eng d4ce736d18 Add dawn_platform::Platform for handling tracing events in Dawn
This patch provides Chromium TRACE_EVENT macros and hooks for
implementing the TRACE_EVENT api.

Bug: chromium:958013
Change-Id: I033b1c7ca57c550504a1bea1898a1a152831922b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/7060
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-13 19:00:34 +00:00
Yan, Shaobo 35670f183a Skip InheritDynamicOffsetsComputePipeline test on Windows
This test is flaky on Windows on Intel HD 530. Skip it on Windows for now.

BUG=dawn:55

Change-Id: I537ef66ee6b0844e8b1dfd46fae47c5921451e55
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10040
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2019-08-13 15:47:59 +00:00
Yan, Shaobo b6d7c53708 Reland "Fix dynamic buffer offset issues on D3D12 backend"
Cannot reproduce failure on GTX1060 and GTX2080Ti with latest driver. So disable
inherit test on compute shader and reland this patch

    Original change's description:
    > Fix dynamic buffer offset issues on D3D12 backend
    >
    > This patch fixes
    > 1. Inherit dynamic buffer offsets : dawn chooses vulkan
    > like inherit behaviour, so dynamic offsets need to be inherited.
    > This patch adds inherit dynamic offsets between pipelines support and
    > adds tests to cover it.
    >
    > 2. Dynamic offsets are skipped when groups have been set : in D3D12
    > backend, when invoke SetBindGroup, dawn will check whether this group
    > has already been set and skip updating root signature if the answer is
    > yes. However, this behaviour will affect dynamic offsets update. With
    > the latest patch, we always update dynamic offsets, even if they didn't
    > change and adds tests to cover it.
    >
    > This patch also hit a dawn's issue about storage buffer validation in compute pass.
    > Currently the validation is a workaround to avoid access conflicts but will impact
    > using dynamic buffer offset in compute pipeline. Fix this issue is hard so disable
    > related test for now and will enable it after the issue been fixed. File dawn bug
    > 198 to track this
    >
    > BUG=dawn:55
BUG=dawn:55

Change-Id: Ia105786c035eafc6f68dcb54e6c1145b06c6a630
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9960
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
2019-08-13 02:44:48 +00:00
Austin Eng 3318caaa51 Factor RenderPass command validation
Validation of GPURenderBundle will share code with RenderPass
validation. Factor validation of commands for GPURenderBundle
into a separate function.

Bug: dawn:154
Change-Id: I79a229592ead27d462da0dd2d12fbdb95443ff19
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9980
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-13 00:22:28 +00:00
Bryan Bernhart 9b45b5aafa Handle staging buffer map failure on Metal.
BUG=dawn:108

Change-Id: Iae1331e179d112d5b93327e7e44f6a5e870557e7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9882
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2019-08-12 23:16:17 +00:00
Idan Raiter 74e4834d3d Add wrapping for using external vulkan images as textures
This change adds platform-dependent services that handle creating
semaphores and importing image memory. Then, we use them to wrap a
texture from an outside source, and release a signal semaphore back
when we're done with it. This will be used to allow chrome to render
dawn on Vulkan platforms.

Bug: chromium:976495
Change-Id: I9f07eaf436e10aa6bd88cffdc74fd23834d62ee0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/8340
Commit-Queue: Idan Raiter <idanr@google.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-10 03:17:52 +00:00
Natasha Lee 8cb23933b1 Ensure clearing attachments is done via renderpass loadop
Clear through loadop instead of standalone clear operation to optimize
efficiency on modern desktop GPUs and mobile GPUs.

Removed clear calls in TransitionForPass for render pass
to help optimize clearing using loadop instead.
Compute pass textures and sampled textures are still cleared in transition.

Bug: dawn:145
Change-Id: I84082bdea3ed7be75683389132d8b296051731b7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/8641
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Natasha Lee <natlee@microsoft.com>
2019-08-09 17:56:30 +00:00
Robert Iannucci ebb05399c0 Rolling 5 dependencies
Roll build/ e439f6082..5262b9094 (1594 commits)

e439f60824..5262b90946

$ git log e439f6082..5262b9094 --date=short --no-merges --format='%ad %ae %s'
2019-08-08 chromium-autoroll Roll Fuchsia SDK from 890571594499 to 890568639186
2019-08-08 chromium-autoroll Roll Fuchsia SDK from 890574089166 to 890571594499
2019-08-08 chromium-autoroll Roll Fuchsia SDK from 890577289982 to 890574089166
2019-08-07 gogerald [StartSurface] Move the tab_ui strings to the feature module
2019-08-07 tiborg [build] Remove dont_load_shared_libraries GN parameter
2019-08-07 chromium-autoroll Roll Fuchsia SDK from 890579756157 to 890577289982
2019-08-07 chromium-autoroll Roll Fuchsia SDK from 890582331998 to 890579756157
2019-08-07 chromium-autoroll Roll Fuchsia SDK from 890585497544 to 890582331998
2019-08-07 yucliu [Fuchsia][EME] Correct CDM service name
2019-08-07 hmohit Add gn arg to overwrite rpath.
2019-08-06 iannucci [build/toolchain] Add individual vpython spec to win/tool_wrapper.py
2019-08-06 jdonnelly Revert "Proguard conditional keeps for layouts"
2019-08-06 awolter [Fuchsia] Remove fuchsia.net.SocketProvider from manifests
2019-08-06 chromium-autoroll Roll Fuchsia SDK from 890588017156 to 890585497544
2019-08-06 harshpa Proguard conditional keeps for layouts
2019-08-06 chromium-autoroll Roll Fuchsia SDK from 890591001924 to 890588017156
2019-08-06 chromium-autoroll Roll Fuchsia SDK from 890593631659 to 890591001924
2019-08-05 liaoyuke [code coverage] Skip instrumenting files that has triggers a SI bug
2019-08-05 chromium-autoroll Roll Fuchsia SDK from 890596874171 to 890593631659
2019-08-05 bpastene chromeos: Point TMPDIR to /usr/local/tmp during VM/DUT tests.
2019-08-05 chromium-autoroll Roll Fuchsia SDK from 890600805183 to 890596874171
2019-08-05 chromium-autoroll Roll Fuchsia SDK from 890603479401 to 890600805183
2019-08-04 chromium-autoroll Roll Fuchsia SDK from 890606035392 to 890603479401
2019-08-04 chromium-autoroll Roll Fuchsia SDK from 890608527889 to 890606035392
2019-08-04 chromium-autoroll Roll Fuchsia SDK from 890611617821 to 890608527889
2019-08-03 chromium-autoroll Roll Fuchsia SDK from 890614483854 to 890611617821
2019-08-03 chromium-autoroll Roll Fuchsia SDK from 890617289215 to 890614483854
2019-08-03 chromium-autoroll Roll Fuchsia SDK from 890619875909 to 890617289215
2019-08-03 chromium-autoroll Roll Fuchsia SDK from 890622382381 to 890619875909
2019-08-03 sergeyu [fuchsia] Fix exe_runner.py
2019-08-02 smaier Give longer oatdump timeout in class verification failure script
2019-08-02 tsniatowski Fix android shared_library metadata output_extension handling
2019-08-02 chromium-autoroll Roll Fuchsia SDK from 890625413366 to 890622382381
2019-08-02 vtsyrklevich Create separate gwp_asan_unittests target
2019-08-02 csharp Reland "Reland "Remove references to MessagePump::Type""
2019-08-02 csharp Revert "Reland "Remove references to MessagePump::Type""
2019-08-02 carlscab Reland "Remove references to MessagePump::Type"
2019-08-02 cjgrant crashpad_stackwalker: Specify Android platform when generating symbols
2019-08-02 chromium-autoroll Roll Fuchsia SDK from 890628039446 to 890625413366
2019-08-02 chromium-autoroll Roll Fuchsia SDK from 890630742147 to 890628039446
2019-08-01 thakis Replace global NO_TCMALLOC and USE_TCMALLOC defines with BUILDFLAG(USE_TCMALLOC).
2019-08-01 chromium-autoroll Roll Fuchsia SDK from 890633683590 to 890630742147
2019-08-01 tiborg [build] Move logic selecting feature module libraries into Chrome layer
2019-08-01 thakis Disable Wimplicit-int-float-conversion on the clang tot bots in nocompile tests as well.
2019-08-01 thakis Disable Wimplicit-int-float-conversion on the clang tot bots.
2019-08-01 chromium-autoroll Roll Fuchsia SDK from 890643698313 to 890633683590
2019-08-01 eliribble Properly handle transient communication errors with gsutil.py
2019-08-01 ianloic Reland "[Fuchsia] Update to new FIDL string and vector APIs"
2019-07-31 zmin Revert "[Fuchsia] Update to new FIDL string and vector APIs"
2019-07-31 wez [Fuchsia] Fix update-sdk.py not to re-download the same SDK.
(...)
2018-12-18 kmarshall Fuchsia: Deploy packages using Amber HTTP blob pull mechanism.
2018-12-18 kmarshall Roll Fuchsia SDK from 8c4293109de7 to c366d97d15de
2018-12-17 brucedawson Fix redist glob to work on Linux
2018-12-17 chromium-autoroll Roll Fuchsia SDK from 5639aa6b5daf to 8c4293109de7
2018-12-17 bpastene Add support to chromeos test runner for running tests on devices.
2018-12-17 wnwen Android: Update Android Studio canary version
2018-12-17 bpastene Rename CrOS test configs to be VM agnostic.
2018-12-17 chromium-autoroll Roll Fuchsia SDK from 7ed025b27664 to 5639aa6b5daf
2018-12-17 chromium-autoroll Roll Fuchsia SDK from 2f1dec3ad9a0 to 7ed025b27664
2018-12-16 caseq Suppress data race in ScopedTimeClockOverrides
2018-12-16 chromium-autoroll Roll Fuchsia SDK from ff53aae5ee89 to 2f1dec3ad9a0
2018-12-16 chromium-autoroll Roll Fuchsia SDK from 0fd351b28f70 to ff53aae5ee89
2018-12-16 chromium-autoroll Roll Fuchsia SDK from 7e4b71a4511f to 0fd351b28f70
2018-12-15 chromium-autoroll Roll Fuchsia SDK from 14998eedc6c9 to 7e4b71a4511f
2018-12-15 chromium-autoroll Roll Fuchsia SDK from 3747c1fea17d to 14998eedc6c9
2018-12-15 chromium-autoroll Roll Fuchsia SDK from f65ab9f9fe2a to 3747c1fea17d
2018-12-15 thomasanderson Disable libc++ on android and rollback buildtools to 7d88270d
2018-12-15 mmoroz Revert "Fixes necessary to enable in-tree libc++ on Android"
2018-12-14 thomasanderson Make sysroot builds reproducible
2018-12-14 chromium-autoroll Roll Fuchsia SDK from dfca5b235ea8 to f65ab9f9fe2a
2018-12-14 thomasanderson Android: Enable in-tree libc++ builds
2018-12-14 thomasanderson Fixes necessary to enable in-tree libc++ on Android
2018-12-14 inferno Reland "Add default sanitizer options for Windows."
2018-12-14 agrieve Android: Delete unused .build_config entry: secondary_abi_java_libraries_list
2018-12-14 agrieve Android: Fix secondary_abi_loadable_modules ignored without secondary_abi_shared_libraries
2018-12-14 tikuta [android] use copy in dexsplitter instead of move
2018-12-14 tikuta [android] specify collect library path in depfile
2018-12-14 thomasanderson Revert "build: Default use_lld to true on ChromeOS."
2018-12-13 pcc build: Default use_lld to true on ChromeOS.
2018-12-13 erikchen Update gtest_merge logic to parse outputs regardless of failure status.
2018-12-13 wnwen Android: Remove sdk and sdk_path options
2018-12-13 chromium-autoroll Roll Fuchsia SDK from 438fd9563caa to dfca5b235ea8
2018-12-13 wnwen Android: Remove build_tools_version
2018-12-13 machenbach Revert "ARM64 capable toolchain hash"
2018-12-13 julien.isorce Use pkg-config to find libva on Linux
2018-12-13 bertbelder Control windows lld-link thin archive flag with config("thin_archive")
2018-12-13 sergeyu [Fuchsia] Fix test runner to shutdown forwarding socket
2018-12-13 brucedawson ARM64 capable toolchain hash
2018-12-12 sergeyu [Fuchsia] Write net-test-server-config to /tmp
2018-12-12 chromium-autoroll Roll Fuchsia SDK from 7adc6567256a to 438fd9563caa
2018-12-12 thomasanderson [Reland] Add RPATH to shared libraries
2018-12-12 wez [Fuchsia] Switch to use 'core' SDK in Chromium.
2018-12-12 agrieve Android: Set strip_absolute_paths_from_debug_symbols=true for non-goma as well
2018-12-12 mattcary [Android] Dexlayout with obfuscated profiles
2018-12-12 brucedawson Fix ucrt redist path for copy_cdb_to_output.py
2018-12-12 fdegans [Fuchsia] Remove ordinals from FIDL files.
2018-12-11 bsheedy Support post-failure screenshots on Vega
2018-12-11 bpastene android: Make the cmd-line flag file name configurable via a test_runner arg.
2018-12-11 digit android: Update bundletool to 0.7.2
2018-12-11 thakis mac: Remove edit_xibs.sh.

Roll buildtools/ 24ebce457..d658e92a1 ++ 106e9fc..74cfb57 (12+46 commits)

24ebce4578..d658e92a1f
106e9fc..74cfb57

$ git log 106e9fc..74cfb57 --date=short --no-merges --format='%ad %ae %s' && \
  git log 24ebce457..d658e92a1 --date=short --no-merges --format='%ad %ae %s'
2019-07-25 thomasanderson@chromium.org List natvis files as inputs
2019-07-23 tikuta@chromium.org Roll GN from 972ed755 to 152c5144
2019-07-19 tsniatowski@vewd.com ensure_gn_version.py: don't die if existing gn is very old
2019-07-16 bratell@opera.com Before trying to overwrite the gn binary, make it writable
2019-07-12 vapier@chromium.org ensure_gn_version.py: reinstall if tool is missing
2019-07-11 vapier@chromium.org ensure_gn_version.py: fix exception printing
2019-06-24 brettw@google.com Roll GN from 8c7f4910 to 972ed755
2019-06-21 thomasanderson@chromium.org Reland "Roll GN from 81ee1967 to 8c7f4910"
2019-06-17 sdy@chromium.org Revert "Roll GN from 81ee1967 to 8c7f4910"
2019-06-16 thomasanderson@chromium.org Roll GN from 81ee1967 to 8c7f4910
2019-06-14 mstensho@chromium.org Revert "Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..ad464887b (53 commits)"
2019-06-14 thomasanderson@chromium.org Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..ad464887b (53 commits)
2019-06-13 mstensho@chromium.org Revert "Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..78822a685 (48 commits)"
2019-06-12 thomasanderson@chromium.org Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..78822a685 (48 commits)
2019-06-07 oysteine@chromium.org Tracing: Moved the tracing sampling profiler to the tracing service
2019-05-23 wychen@chromium.org Exclude AndroidStudioDefault folder in Java import checking
2019-05-22 thomasanderson@chromium.org Roll src/buildtools/third_party/libc++/trunk/ 9b96c3dbd..5938e0582 (78 commits)
2019-05-19 rsesek@chromium.org Roll GN from 64b846c9 to 81ee1967.
2019-05-13 jbudorick@chromium.org checkdeps: encode input to os.walk as utf-8.
2019-04-15 thomasanderson@chromium.org Roll src/buildtools/third_party/libc++/trunk/ fbddc4698..9b96c3dbd (18 commits)
2019-04-04 thakis@chromium.org Roll src/buildtools/third_party/libc++/trunk/ 955113db3..fbddc4698 (33 commits)
2019-04-03 tikuta@chromium.org Roll GN from r1496 (0790d304) to r1555 (64b846c9)
2019-03-29 dpranke@chromium.org Revert "Roll GN from r1496 (0790d304) to r1546 (b85982b3)"
2019-03-28 dpranke@chromium.org Roll GN from r1496 (0790d304) to r1546 (b85982b3)
2019-03-27 thomasanderson@chromium.org Enable in-tree libc++ builds on iOS
2019-03-27 raul@tambre.ee Support Python 3 in //buildtools/ensure_gn_version.py
2019-03-26 thomasanderson@chromium.org Roll src/buildtools/third_party/libc++/trunk/ 4daecde1d..955113db3 (14 commits)
2019-03-22 dpranke@chromium.org Add ensure_gn_version.py and DEPS hook.
2019-03-21 thakis@chromium.org Roll src/buildtools/third_party/libc++/trunk/ 9009625c8..4daecde1d (12 commits)
2019-03-20 thomasanderson@chromium.org Roll libc++ to r356574
2019-03-19 tikuta@chromium.org [buildtools] update .gitignore for CIPD
2019-03-18 olivierrobin@chromium.org Fetch gn based on the host OS.
2019-03-15 thomasanderson@chromium.org Set WINVER to WIN7 for libc++
2019-03-15 dpranke@chromium.org Use CIPD packages for GN instead of GCS.
2019-03-15 dpranke@chromium.org Add presubmit checks for //buildtools/DEPS entries.
2019-03-14 thomasanderson@chromium.org Clean up visibility for lib{c++,c++abi,unwind} and common_deps targets
2019-03-13 wez@chromium.org Revert "Move fuchsia libunwind dependency to common_deps"
2019-03-13 dpranke@chromium.org Reformat DEPS files to use single-quotes consistently.
2019-03-13 thomasanderson@chromium.org Correct libcxx{abi} revision in buildtools/DEPS
2019-03-13 thomasanderson@chromium.org Move fuchsia libunwind dependency to common_deps
2019-03-11 thomasanderson@chromium.org Roll libc++ to 355829
2019-03-06 thomasanderson@chromium.org Roll libc++ to 22d3f6dd
2019-02-20 thomasanderson@chromium.org Fix mac/component/asan builds
2019-02-20 thomasanderson@chromium.org Fixes necessary for enabling libc++ on Windows
2019-02-19 thomasanderson@chromium.org Update libcxx{abi}
2019-02-16 tikuta@chromium.org [buildtools] add owners
++
2019-02-07 thomasanderson Delete buildtools
2019-01-22 spang Add eu-strip to buildtools/third_party/
2019-01-17 thomasanderson Don't export operator new/delete on Mac
2019-01-14 thomasanderson Do TODOs related to Android/libc++
2019-01-14 thomasanderson Make libc++ a shared library on Android sanitizer builds
2018-12-13 thomasanderson Stop removing hide_all_but_jni_onload config from libc++
2018-12-13 thomasanderson Add thomasanderson and thakis to libc++{abi} OWNERS
2018-12-13 thomasanderson Roll libc++
2018-12-12 thomasanderson Roll lib{c++,c++abi,unwind}
2018-12-05 smaier Added statically linked linux binary for clang-format
2018-11-21 thakis Roll gn to version 1496 (0790d304).
2018-11-20 thakis Revert "Roll libcxx{abi}

Roll testing/ b07830f69..3b14bde07 (2614 commits)

b07830f690..3b14bde076

$ git log b07830f69..3b14bde07 --date=short --no-merges --format='%ad %ae %s'
2019-08-08 jamescook Remove unused include of base/debug/debugger.h from base/logging.h
2019-08-08 aluo Add android_oreo_standard_gtests to android-oreo-arm64-rel bot
2019-08-08 ryansturm Adding the HTML+css+syncscript arm of LightweightNoStatePrefetch
2019-08-08 tikuta [testing] use xenial for test from coverage builder
2019-08-08 jonross Stop running SkiaRenderer tests on "Linux FYI Experimental Release (Intel HD 630)"
2019-08-08 omerkatz Disable webtests in concurrent marking trybot
2019-08-08 tmrts [v8][layout-tests] remove gtest specification from {V8 Blink Win}
2019-08-08 tmrts [v8][layout-tests] define src-side builder for {V8-Blink Linux 64 Future}
2019-08-08 ioanap Add field trial testing config entry for manual password generation on Android
2019-08-08 tikuta [testing] use xenial for test from internal chromeos builder
2019-08-08 sajjadm [Code Coverage] Do not retry corrupted shards in a tryjob.
2019-08-07 sgilhuly Add gpu-rasterization baselines for some compositing/masks/ tests
2019-08-07 tikuta [testing] switch to use xenial for test from Linux Swarm
2019-08-07 jonross Fix Vulkan Pixel Tests config
2019-08-07 bsheedy Make more x64 Win tests use release_x64
2019-08-07 tikuta [testing] use xenial for a builder
2019-08-07 ahemery [bfcache] Add web_tests to linux-bfcache-rel.
2019-08-07 tmrts [v8][layout-tests] pass the debug flag on {V8 Blink Linux Debug} bot
2019-08-07 tmrts [v8][layout-tests] include mixins and remove hard timeouts
2019-08-07 arthursonzogni Enable ProactivelySwapBrowsingInstance in fieldtrial_testing_config
2019-08-07 ahemery [bfcache] Split fieldtrial and bfcache builders.
2019-08-07 noel Revert "Remove linux-blink-heap-unified-gc builder"
2019-08-07 bsheedy Setup Linux FYI SkiaRenderer Vulkan (Intel HD 630)
2019-08-06 tikuta [testing] switch test to use xenial from layout test try builders
2019-08-06 agable Remove linux-blink-heap-unified-gc builder
2019-08-06 sergeyu [Fuchsia] Enable viz_unittests on CQ bots.
2019-08-06 bsheedy Increase UHD bot timeouts
2019-08-06 vakh Change quota for AdRedirect and AdPopup triggers from 5 to 10
2019-08-06 arthursonzogni bfcache: Triage content_browsertests.
2019-08-06 wanderview Fetch: Remove BufferingBytesConsumerDelay testing config.
2019-08-06 ydago Put atomic policy groups behind a finch feature flip
2019-08-06 anushruth Add tests to chromeos-kevin-google-rel in waterfalls
2019-08-06 arthursonzogni bfcache: Update browser_tests filter.
2019-08-06 wychen Add TabToGTSAnimation params to fieldtrial_testing_config
2019-08-06 jsaul [AF] Remove AutofillUpstreamDisallowEloAndJcb fieldtrial_testing_config
2019-08-06 arthursonzogni bfcache: triage content_unittests
2019-08-06 tmrts [v8][layout-tests] create src-side definitions for {chromium_integration} bots
2019-08-06 arthursonzogni bfcache: triage unit_tests
2019-08-06 kuddai Add WebRTC-Audio-NetEqDecelerationTargetLevelOffset to field trial config
2019-08-06 arthursonzogni bfcache: Triage content_browsertests.
2019-08-06 msisov ozone-linux: enable content_unittests
2019-08-06 dhoss Add HarfBuzzPDFSubsetter experiment to field trial testing config
2019-08-06 siyua [AF][Upstream String] Add fieldtrial testing config for experiment
2019-08-06 alexmos Add Field Trial Testing Config for IsolatePasswordSites on Android.
2019-08-05 tikuta [testing] use xenial for test from blink rel builders
2019-08-05 bsheedy Switch Win XR perf to x64 browser
2019-08-05 cduvall Remove NavigationLoaderOnUI tests on mojo bots
2019-08-05 bsheedy Add Win10 FYI x64 Release (Intel UHD 630)
2019-08-05 tommycli [omnibox] Remove Vertical Margin experiment flags
2019-08-05 geofflang Run WebGL conformance with the passthrough command decoder on Mac.
(...)
2018-08-18 thakis Increase timeout for LayerTreeTests under asan and run cc_unittests on win/asan bot.
2018-08-18 rbpotter WebUI Polymer2: Fix print preview tests
2018-08-18 reillyg Implement signin header modifications with a URLLoaderThrottle
2018-08-18 lukasza site-per-process is the default on desktop even without of field trials.
2018-08-18 mattm enable SubresourceFilterBrowserTest.FailedProvisionalLoadInMainframe on network_browser_tests
2018-08-18 thakis win/asan: Include line numbers in stack traces.
2018-08-17 carlosil Removed RecurrentSSLInterstitial from field trial config
2018-08-17 jsaul Update fieldtrial_testing_config.json for AutofillUpstreamEditableCardholderName
2018-08-17 apacible Disable renameNewFolderDownloads_GuestMode on all platforms.
2018-08-17 cduvall Remove socket test from network server browser_test filter
2018-08-17 thakis Make win/asan main waterfall bot run tests.
2018-08-17 jdonnelly [omnibox] Add new feature experiments to the fieldtrial testing config.
2018-08-17 noel Disable renameNewFolderDownloads* on Mash
2018-08-17 rbpotter WebUI Polymer2: Filter out material history item test
2018-08-17 rbpotter Print Preview: Correctly handle select values set in JS
2018-08-17 twellington Don't set Modern as default enabled in fieldtrial_testin_config.json
2018-08-16 sebmarchand Add the fieldtrial testing config for InfiniteSessionRestore
2018-08-16 bpastene Only target 10.12.6 for webkit_layout_tests on mac_chromium_rel_ng.
2018-08-16 aluo Allow android.support.test.runner.AndroidJUnitRunner to run junit4 tests in test_runner.py
2018-08-16 jbudorick Add compile, test, and luci configs for cronet luci mirrors.
2018-08-16 estade Mash: enable HostedAppNonClientFrameViewAshTest.*
2018-08-16 johnidel Send per-resource updates to PageLoadMetrics
2018-08-16 arthursonzogni [android] Remove custom timeout from M phone tester.
2018-08-16 dvadym Add testing field trial to NewPasswordFormParsing finch config.
2018-08-16 perezju [tools/perf] Add tests for android-go_webview-perf bot
2018-08-16 fsamuel Enable Viz Display Compositor on perf bots
2018-08-16 juncai Network Service: Make some checking Origin headers tests early return if network service is enabled
2018-08-15 rbpotter WebUI Polymer2: Exclude failing tests
2018-08-15 rajendrant Add field trial config for the DataSaverSiteBreakdownUsingPageLoadMetrics feature
2018-08-15 cduvall Disable data reduction proxy when network service is enabled
2018-08-15 bpastene Explicitly target GPUs when falling back to mac10.12 for layout_tests.
2018-08-15 vtsyrklevich CFI: Delete icall buildbot
2018-08-15 jam Reenable filesystem extensions tests with network service.
2018-08-15 wychen Post-launch cleanup for AllowReaderForAccessibility
2018-08-15 cduvall Fix SecurityExploitBrowserTest to use network service path
2018-08-15 eroman Use a consistent style for the crbug.com/ links.
2018-08-14 estade OopAsh: Hide caption buttons for browser windows in tablet mode.
2018-08-14 estade OopAsh: fix/enable another frame-related browser test.
2018-08-14 eroman Associate a bug with network service failing test ProxySettingsApiTest.ProxyEventsParseError.
2018-08-14 rbpotter WebUI Polymer 2: Run various tests with WebUIPolymer2 flag enabled.
2018-08-14 lukasza [reland] Make //content layer default to --site-per-process mode on desktop.
2018-08-14 cduvall Fix WebViewTest.WebViewInBackgroundPage with network service
2018-08-14 cduvall Fix broken ExtensionDisabledGlobalErrorTest.* with network service
2018-08-14 mmenke NetworkService: Migrate isolated StoragePartition URLRequestContexts
2018-08-14 jbudorick Read luci-milo-dev.cfg for //testing/buildbot presubmits.
2018-08-14 tbansal Experiment with changing minimum probe timeout value.
2018-08-14 jam Fix extension updater browser tests with network service.
2018-08-14 cblume Revert "Enable Windows NV12 overlays on waterfall"
2018-08-14 thomasanderson Relativize paths in build files
2018-08-13 enne Turn on OOP Raster on chromeos bots

Roll third_party/binutils/ 2be73f7fb..92bfa0a5d (1 commit)

2be73f7fbf..92bfa0a5dc

$ git log 2be73f7fb..92bfa0a5d --date=short --no-merges --format='%ad %ae %s'
2019-03-05 bmsdave Python 3 compatibility errors in third-party libraries

Roll tools/clang/ 1d879cee5..3605577b6 (147 commits)

1d879cee56..3605577b67

$ git log 1d879cee5..3605577b6 --date=short --no-merges --format='%ad %ae %s'
2019-08-06 thakis win/cross builds: Make sure llvm-symbolizer.exe is around for running sanitizer builds on swarming.
2019-08-02 rnk Update plugin for clang API getDirectory change
2019-07-30 tsniatowski Clang script: remove old stamp file if it exists
2019-07-24 nicolaso Revert "[Traffic Annotation] Remove function_context from extractor output"
2019-07-23 hans Clang build script: refactor some -DCOMPILER_RT_BUILD flags
2019-07-22 thakis Revert "clang build scripts: Use smaller hermetic Xcode"
2019-07-22 thakis clang build scripts: Use smaller hermetic Xcode
2019-07-22 omerkatz heap: Removing EagerSweeping from clang plugin
2019-07-20 hans Build Clang with GCC 5.1.0 on Linux
2019-07-19 thakis clang package: Stop bundling libfuzzer runtime.
2019-07-18 hans Clang: the tip-of-tree version is now 10
2019-07-17 inglorion Add inglorion@ to tools/clang/OWNERS
2019-07-17 rnk Clang update script: bump gnuwin version to include cut.exe
2019-07-12 thakis Reland "clang package: Stop shipping 32-bit asan on win."
2019-07-09 hans Clang build script: Don't run check-all on the bootstrap compiler on Darwin
2019-07-09 rnk Roll clang 363790:365097.
2019-07-08 nicolaso [Traffic Annotation] Remove function_context from extractor output
2019-07-02 mlippautz tools/clang: Add directory for stack maps prototype
2019-06-22 thakis clang build script: If doing bootstrap builds, use lld as linker for later stages on win and linux.
2019-06-21 hans Build Clang using profile-guided optimization on Linux and Mac
2019-06-20 hans Roll clang 363450:363790.
2019-06-18 huangdarwin Reland "Roll clang 362913:363450."
2019-06-18 huangdarwin Revert "Roll clang 362913:363450."
2019-06-15 thakis Roll clang 362913:363450.
2019-06-14 bratell Fix python3 compatibility for script/tools/clang/update.py
2019-06-13 pcc Update path to crash upload script.
2019-06-13 pcc Add llvm-objcopy to the clang package on Linux.
2019-06-13 hans Clang package.py: fix the stamp file location
2019-06-10 tikuta [clang] make stampfile inside LLVM_BUILD_DIR
2019-06-10 thakis Roll clang 361212:362913.
2019-05-31 tikuta [tools] fix clang update script for clang download failure
2019-05-31 inferno Revert "clang package: Stop shipping 32-bit asan on win, and 32-bit libraries on linux."
2019-05-29 thakis clang package: Stop shipping 32-bit asan on win, and 32-bit libraries on linux.
2019-05-29 thakis clang build script: build less stuff
2019-05-28 pwnall tools: Fix download_lld_mac for LLVM 9+.
2019-05-28 gambard Revert "Roll clang 361212:361565."
2019-05-25 inglorion Roll clang 361212:361565.
2019-05-23 thakis clang package: Check all files we want to package actually exist.
2019-05-22 hans blink_gc_plugin: re-enable test after clang roll
2019-05-22 hans Clang build.py: Add TODO about using urllib again
2019-05-22 hans Clang build.py: Use curl instead of urllib
2019-05-22 hans Clang build.py: pass -DCOMPILER_RT_USE_LIBCXX=NO
2019-05-22 hans clang: Build from the Git monorepo instead of SVN.
2019-05-21 thakis Roll clang 361104:361212.
2019-05-19 thakis clang packaging: Build compiler-rt as part of the normal build on Linux too.
2019-05-19 thakis Roll clang 360094:361104.
2019-05-09 mlippautz blink_gc_plugin: Remove TraceWrapperMember
2019-05-09 hans blink_gc_plugin: skip crash_on_invalid test until clang is rolled
2019-05-08 hans Clang upload_revision.py: Fix the CLANG_SUB_REVISION regex
2019-05-07 Richard.Townsend Roll clang 359912:360094.
(...)
2019-02-27 bradhall Add dsymutil CIPD yaml file
2019-02-27 tzik A build fix of base_bind_writer
2019-02-15 bradhall Set xcode path earlier in clang update.py
2019-02-15 sergeyberezin [clang] Set Xcode path on Mac OS X to hermetic installation
2019-02-14 ellyjones clang: upload dsymutil tarball when building for Mac
2019-02-12 jsca Only run compile_db.py unit tests on commit.
2019-02-09 thakis Fix -Wextra-semi warnings after USING_GARBAGE_COLLECTED_MIXIN(...).
2019-02-07 hans Clang update.py: set -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
2019-02-06 thakis Roll clang 353069:353250.
2019-02-06 thakis Build clang package with DLLVM_ENABLE_PIC=OFF.
2019-02-05 thakis Roll clang 352921:353069.
2019-02-03 thakis Roll clang 352138:352921.
2019-01-31 thakis clang packaging: Stop uploading llvm-strip package.
2019-01-31 jsca Remove usage of shlex.split from compile_db.py.
2019-01-30 spang Move eu-strip from third_party/ to buildtools/third_party/
2019-01-30 thakis Remove sancov from the clang package.
2019-01-26 thakis Build clang without static analyzer and arc migrator.
2019-01-25 sebmarchand Include base/bind.h in the files that use it.
2019-01-25 hans Roll clang 351477:352138.
2019-01-19 rnk Roll clang 350768:351477.
2019-01-16 pcc clang: Add HWASAN Android runtime to the package.
2019-01-16 hans Clang: the tip-of-tree version is now 9
2019-01-12 pcc clang/update.py: Build only the targets that we need.
2019-01-11 thakis Roll clang 349417:350768.
2019-01-04 thakis clang/update.py: Remove unused, no-op --if-needed flag.
2019-01-03 jbroman blink_gc_plugin: Remove unused member MissingMixinMarker::ast_context_.
2019-01-03 thakis Build clang without plugin support.
2018-12-29 raul Add Visual Studio 2019 and Preview edition support
2018-12-26 rnk Attempt to fix clang plugin test after crrev.com/618722
2018-12-22 thakis clang plugin: Stop passing flags that are always-on.
2018-12-21 pcc update.py: Simplify Android sanitizer build.
2018-12-21 hans Attempt to fix Clang plugins build after LLVM r349839
2018-12-20 hans Roll clang 346388:349417.
2018-12-20 perezju Revert "Roll clang 346388:348507."
2018-12-20 thakis Roll clang 346388:348507.
2018-12-07 mlippautz Reland "gc-plugin: Allow typdef as mixin marker in using macro"
2018-12-05 hans Revert "gc-plugin: Allow typdef as mixin marker in using macro"
2018-12-05 mlippautz gc-plugin: Allow typdef as mixin marker in using macro
2018-12-04 keishi blink_gc_plugin: Check for untraced TraceWrapperMember and TraceWrapperV8References
2018-11-30 hiroshige Revert "Roll clang 346388:347933."
2018-11-30 hans Roll clang 346388:347933.
2018-11-29 hans Clang update script: bump gnuwin version to include sort.exe
2018-11-27 vtsyrklevich Revert "SafeStack: Package SafeStack runtime for Linux"
2018-11-27 mmoroz Roll clang 346388-1:346388-5.
2018-11-22 mmoroz Clang scripts: package ubsan_standalone runtime for Android on ARM and AArch64.
2018-11-21 gayane Revert "Roll clang 346388-1:346388-4."
2018-11-21 mmoroz Roll clang 346388-1:346388-4.
2018-11-20 mmoroz Clang scripts: reland workaround for msys binaries by hans@ from https://crrev.com/c/1337614.
2018-11-19 mmoroz Clang: package missing runtime libraries for Android (ASan and profile).
2018-11-19 jbroman Augment the blink gc plugin to detect missing USING_GARBAGE_COLLECTED_MIXIN.

Created with:
  roll-dep build buildtools testing third_party/binutils third_party/jinja2 third_party/markupsafe tools/clang

R=jmadill@google.com, kainino@chromium.org

Bug: chromium:973721
Change-Id: I6728201b7515961ed8aeffe2303403ac1540a677
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9881
Commit-Queue: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-09 01:40:38 +00:00
Robert Iannucci ef2fac0b94 [infra/config] Bump OS X SDK version for dawn.
Bug: chromium:973721
Change-Id: I0dd5d9f4a06c791b4d8b0cb342974579a3f21624
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9880
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-09 01:19:04 +00:00
Austin Eng a9658d967a MemoryTransferService: Separate functions to serialize and get serialization size
Bug: dawn:156
Change-Id: I19317954c64700bdd67aa414d8eb2422d2c3544d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9860
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-09 00:03:20 +00:00
Austin Eng 42e1bba480 Revert "Fix dynamic buffer offset issues on D3D12 backend"
This reverts commit 421584173c.

Reason for revert: Some of the newly added tests are failing on Windows NVIDIA GTX 1660

https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20x64%20Release%20%28NVIDIA%20GeForce%20GTX%201660%29/21

Original change's description:
> Fix dynamic buffer offset issues on D3D12 backend
> 
> This patch fixes
> 1. Inherit dynamic buffer offsets : dawn chooses vulkan
> like inherit behaviour, so dynamic offsets need to be inherited.
> This patch adds inherit dynamic offsets between pipelines support and
> adds tests to cover it.
> 
> 2. Dynamic offsets are skipped when groups have been set : in D3D12
> backend, when invoke SetBindGroup, dawn will check whether this group
> has already been set and skip updating root signature if the answer is
> yes. However, this behaviour will affect dynamic offsets update. With
> the latest patch, we always update dynamic offsets, even if they didn't
> change and adds tests to cover it.
> 
> This patch also hit a dawn's issue about storage buffer validation in compute pass.
> Currently the validation is a workaround to avoid access conflicts but will impact
> using dynamic buffer offset in compute pipeline. Fix this issue is hard so disable
> related test for now and will enable it after the issue been fixed. File dawn bug
> 198 to track this
> 
> BUG=dawn:55
> 
> Change-Id: I2b0f179b3555d37d5b350292eb729767b0d60ab6
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9621
> Commit-Queue: Austin Eng <enga@chromium.org>
> Reviewed-by: Austin Eng <enga@chromium.org>
> Reviewed-by: Kai Ninomiya <kainino@chromium.org>

TBR=kainino@chromium.org,shaobo.yan@intel.com,enga@chromium.org

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

Bug: dawn:55
Change-Id: I018e6fa9b4b0905de602ab4ba3294ef537c53759
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9900
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2019-08-08 22:41:00 +00:00
Ryan Harrison ab8b768d27 Rolling 5 dependencies
Roll third_party/SPIRV-Tools/ 0c4feb643..29af42df1 (44 commits)

0c4feb643b..29af42df12

$ git log 0c4feb643..29af42df1 --date=short --no-merges --format='%ad %ae %s'
2019-08-08 greg Add SPV_EXT_physical_storage_buffer to opt whitelists (#2779)
2019-08-07 stevenperron Handle RelaxedPrecision in SROA (#2788)
2019-08-07 zoddicus Add -fextra-semi to Clang builds (#2787)
2019-08-05 afdx Add 'copy object' transformation (#2766)
2019-08-02 paulthomson fuzz: change output extension and fix usage string (#2778)
2019-08-01 geoff Remove extra ';' after member function definition. (#2780)
2019-07-31 zoddicus Update WebGPU validation rules of OpAtomic*s (#2777)
2019-07-31 alanbaker Treat access chain indexes as signed in SROA (#2776)
2019-07-30 dneto Add pass to inject code for robust-buffer-access semantics (#2771)
2019-07-30 zoddicus Update OpMemoryBarriers rules for WebGPU (#2775)
2019-07-30 dneto Add opt test fixture method SinglePassRunAndFail (#2770)
2019-07-29 dneto Element type is const for analysis::Vector,Matrix,RuntimeArray (#2765)
2019-07-29 dnovillo Protect against out-of-bounds references when folding OpCompositeExtract (#2774)
2019-07-29 alanbaker Don't move debug or decorations when folding (#2772)
2019-07-29 zoddicus Update OpControlBarriers rules for WebGPU (#2769)
2019-07-26 dnovillo Fix #2609 - Handle out-of-bounds scalar replacements. (#2767)
2019-07-25 afdx Limit fuzzer tests so that they take less time to run (#2763)
2019-07-25 stevenperron Fix check for unreachable blocks in merge-return (#2762)
2019-07-25 afdx Transformation and fuzzer pass to add dead continues (#2758)
2019-07-24 zoddicus Remove unneeded future imports (#2739)
2019-07-24 stevenperron Process OpDecorateId in ADCE (#2761)
2019-07-24 stevenperron Record correct dominators in merge return (#2760)
2019-07-23 stevenperron SSA rewriter: Don't use trivial phis (#2757)
2019-07-23 alanbaker Fix block depth rule priority (#2755)
2019-07-23 alanbaker Case validation with repeated labels (#2689)
2019-07-22 greg Bindless Instrument: Make init check depend solely on input_init_enabled (#2753)
2019-07-22 kevin.petit Validate storage class OpenCL environment rules for atomics (#2750)
2019-07-22 51214578+jmacnak-nv Allow LOD ops in compute shaders with derivative group execution modes (#2752)
2019-07-18 dneto Document opt::Instruction::InsertBefore methods (#2751)
2019-07-17 stevenperron Revert "Do not inline OpKill Instructions (#2713)" (#2749)
2019-07-16 jbolz For Vulkan, disallow structures containing opaque types (#2546)
2019-07-16 stevenperron Fix bug in merge return (#2734)
2019-07-15 51214578+jmacnak-nv Allow ray tracing shaders in inst bindle check pass. (#2733)
2019-07-12 zoddicus Correctly implement WebGPU related flag exclusions (#2737)
2019-07-12 greg Remove Common Uniform Elimination Pass (#2731)
2019-07-12 cwallez BUILD.gn: Add deps and move files for `gn check` (#2735)
2019-07-11 zoddicus Update execution scope rules for WebGPU (#2730)
2019-07-11 33432579+alan-baker Extra small storage validation (#2732)
2019-07-11 jbolz Add validation for SPV_EXT_demote_to_helper_invocation (#2707)
2019-07-10 52076061+digit-google BUILD.gn: Add targets to build all command-line tools (#2727)
2019-07-10 stevenperron Change the order branches are simplified in dead branch elim (#2728)
2019-07-11 troughton Add —preserve-bindings and —preserve-spec-constants (#2693)
2019-07-10 stevenperron Handle decorations better in some optimizations (#2716)
2019-07-10 zoddicus Update memory scope rules for WebGPU (#2725)

Roll third_party/glslang/ 8aa9a7bb8..3cea2e588 (28 commits)

8aa9a7bb8f..3cea2e5882

$ git log 8aa9a7bb8..3cea2e588 --date=short --no-merges --format='%ad %ae %s'
2019-08-02 cepheus Bump revision and give the bots another chance to work.
2019-08-01 rharrison Add in header for uint32_t definition
2019-07-30 rharrison Convert no RTTI rule to be compiler specific
2019-07-28 lryer Fix Clang compiler warning.
2019-07-28 lryer Fix location distribution not in order
2019-07-25 stevenperron Remove execute permission from LICENSE.txt
2019-07-25 lryer Fix memory init issue, to make sure the class members are init in order.
2019-07-23 cepheus Revert "Merge pull request #1792 from Roy-AMD/automapping-opengl-location"
2019-07-22 alele Fix bugs in missing Builtin decoration for some NV builtins for tessellation control shaders. Fix bug in member remapping.
2019-07-22 cepheus SPV: Update to latest SPIR-V header.
2019-07-18 greg Update spirv-tools and spirv-headers known good.
2019-07-17 cepheus Build: shut up warning to add unnecessary parens.
2019-07-17 alele Fix bug in printing trailing comma when dumping AST for a structure.
2019-07-16 jmacnak Update known good SPIRV-Tools commit
2019-07-15 sparmar Allow unsized view array dimension for non-block perviewNV attributes
2019-07-15 cepheus ESSL: Fix #1823: Conditions for when derivatives are in compute shader.
2019-07-15 rex.xu OpIsHelperInvocationEXT should declare relevant SPV extension and capability
2019-07-13 cepheus GLSL: Fix #1833: Don't constant fold integer mix to a float.
2019-07-12 jmacnak spirv: Generate missing SampleMaskOverrideCoverageNV capability op
2019-07-12 rharrison Explicitly remove RTTI in the top-level build config
2019-07-10 aaron.hagan Add support for SPV_KHR_shader_clock
2019-07-10 jbolz Avoid generating 8/16-bit constants when 8/16-bit arithmetic extensions aren't enabled
2019-07-08 alanbaker Test updates
2019-07-08 alanbaker Update SPIRV-Tools revision
2019-07-03 cepheus SPV: Fix #1783: Don't do bounds checking for spec-const-expression size
2019-06-25 jbolz Handle SPIR-V type mismatch when constructing a composite
2019-06-07 lryer code format refine
2019-06-06 lryer Add interface symbol and uniform symbol location auto mapping for OpenGL shader.

Roll third_party/shaderc/ e9bb8f287..b3b228c60 (10 commits)

e9bb8f2874..b3b228c60d

$ git log e9bb8f287..b3b228c60 --date=short --no-merges --format='%ad %ae %s'
2019-08-07 zoddicus Rolling 7 dependencies (#776)
2019-08-01 zoddicus Only use -fPIC on compilers that support it (#772)
2019-08-01 zoddicus Turn on warnings on about missing semi-colons (#770)
2019-07-31 yizhou.jiang Remove extra semicolons in shaderc (#768)
2019-07-19 dneto Be more pythonic about "not in" (#763)
2019-07-18 dneto Fix typo (#762)
2019-07-16 dneto Avoid C-style cast for constants definitions (#760)
2019-07-16 jbolz SetBeforeHlslLegalization to use more relaxed validation rules (#676)
2019-07-16 krzysio.kurek Explicitly use python3 for git-sync-deps (#759)
2019-07-09 dneto Remove app_dummy call in Android test (#756)

Roll third_party/spirv-cross/ 53ab2144b..4ce04480e (79 commits)

53ab2144b9..4ce04480ec

$ git log 53ab2144b..4ce04480e --date=short --no-merges --format='%ad %ae %s'
2019-08-01 post Fix severe performance issue with invariant expression invalidation.
2019-07-26 cdavis MSL: Unify the get_*_address_space() methods.
2019-07-26 post MSL: Cleanup temporary use with emit_uninitialized_temporary.
2019-07-26 post MSL: Deal with Modf/Frexp where output is access chain to scalar.
2019-07-26 post Do not force temporary unless continue-only for loop dominates.
2019-07-25 post Missed case where DoWhile continue block deals with Phi.
2019-07-25 post Vulkan GLSL: Support disabling samplerless texture function EXT.
2019-07-25 post Workaround MSVC 2013 compiler issues.
2019-07-22 cdavis MSL: Adjust BuiltInWorkgroupId for vkCmdDispatchBase().
2019-07-24 post Fix some typos in comments.
2019-07-24 post Do not attempt to pack types which are already scalar.
2019-07-24 post HLSL query lod cleanups.
2019-07-24 post Do not eagerly invalidate all active variables on a branch.
2019-07-23 post Do not disable temporary forwarding when we suppress usage tracking.
2019-07-23 post Add another test for unpacking without load forwarding.
2019-07-23 post Look at pointee type when unpacking expressions.
2019-07-23 post Fix some warnings when building in MoltenVK.
2019-07-23 post Deal correctly with non-forwarded packed loads.
2019-07-23 post Test CompositeInsert/Extract/VectorShuffle on packed vectors.
2019-07-23 post Add test for array of scalar struct.
2019-07-23 post Recursively pack struct types when we find scalar packed structs.
2019-07-23 post Run format_all.sh.
2019-07-23 post Unpack vector expression in Matrix-Vector multiplies.
2019-07-23 post Test matrix multiplies in more complex scenarios.
2019-07-23 post Test implicit packing of struct members.
2019-07-23 post GLSL/HLSL: Verify member alignment for explicit offset as well.
2019-07-23 post Add tests for struct padding and self-alignment.
2019-07-23 post Use to_unpacked_row_major_expression to unify row-major in MSL/GLSL.
2019-07-23 post Simplify row-major matrix/vector multiplies.
2019-07-23 post Test array of std140 vectors.
2019-07-23 post Add struct size padding tests.
2019-07-22 post Add test for CompositeExtract from row-major loaded vector.
2019-07-22 post Add test for split access chain into row-major matrix.
2019-07-22 post Remove obsolete matrix workaround code.
2019-07-22 post Only transpose unpacked expressions.
2019-07-22 post Deal correctly with complete stores to row_major matrices.
2019-07-22 post Declare correct matrix type when unpacking.
2019-07-22 post Don't forget to register a write to LHS expression in certain case.
2019-07-22 post Deal with swizzled stores to std140 matrices.
2019-07-22 post Fix some row-major column store cases.
2019-07-22 post Fix more stray parens.
2019-07-22 post Fixup stray parent in output.
2019-07-22 post Correctly unpack row-major matrices when storing to LHS.
2019-07-22 post MSL: Add std140 and scalar matrix layouts.
2019-07-22 post MSL: Add std430 matrix access test.
2019-07-22 post MSL: Support storing to row-major column.
2019-07-22 post Tests run clean.
2019-07-19 post Fix unpacking of packed but not remapped types on load.
2019-07-19 post Traverse correct types when checking scalar layout.
2019-07-19 post Deal with scalar layout of entire structs.
2019-07-19 post Pass down row-major state to unpacking functions.
2019-07-19 post Deal with all forms of matrix writes ...
2019-07-19 post Can deal with std140 matrices now.
2019-07-18 post Start considering how to emit physical type ID.
2019-07-18 post Deal more cleanly with matrices and row-major.
2019-07-18 post Reintroduce struct_member_* MSL queries.
2019-07-18 post MSL: Begin rewrite of buffer packing logic.
2019-07-18 cdavis Don't forward uses of an OpIsHelperInvocationEXT op.
2019-07-13 cdavis Support the SPV_EXT_demote_to_helper_invocation extension.
2019-07-17 post Test glsl.std450 more exhaustively.
2019-07-11 cdavis MSL: Support the SPV_INTEL_shader_integer_functions2 extension.
2019-07-11 cdavis Update external repos.
2019-07-12 cdavis Support the SPV_KHR_device_group extension.
2019-07-11 cdavis MSL: Support the SPV_AMD_shader_trinary_minmax extension.
2019-07-12 post Run format_all.sh.
2019-07-12 post Deal correctly with return sign of bitscan operations.
2019-07-10 post MSVC 2015: Workaround bogus warning with move_backwards.
2019-07-10 post MSVC: Fix some warnings in C wrapper.
2019-07-10 cdavis MSL: Use the select() function for OpSelect.
2019-07-10 cdavis Support the SPV_KHR_post_depth_coverage extension.
2019-07-10 cdavis MSL: Handle coherent, volatile, and restrict.
2019-07-11 post GLSL: Need extension to use bitcast on GLSL < 330.
2019-07-11 lifeng.pan Remove unreasonable assertion for OpTypeImage Sampled parameter.
2019-07-10 cdavis MSL: Handle packed matrices.
2019-07-10 cdavis MSL: Fix alignment of packed types.
2019-07-10 post Forget loop variable enables after emitting block chain.
2019-07-10 post MSL: Re-roll array expressions in initializers.
2019-07-09 cdavis MSL: Support scalar block layout.
2019-07-09 post MSVC 2013: Work around another compiler bug with array init.

Roll third_party/spirv-headers/ 29c11140b..e4322e3be (2 commits)

29c11140ba..e4322e3be5

$ git log 29c11140b..e4322e3be --date=short --no-merges --format='%ad %ae %s'
2019-07-14 aaron.hagan Add SPV_KHR_shader_clock to spirv-headers
2019-07-12 michael.kinsner Reserve additional loop control bit for upcoming update to SPV_INTEL_fpga_loop_controls extension

Created with:
  roll-dep third_party/SPIRV-Tools third_party/glslang third_party/shaderc third_party/spirv-cross third_party/spirv-headers

Change-Id: I95453760ca570a96082672178b0ebd6908e112d5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9840
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-08 22:21:19 +00:00
Austin Eng e9fabf5916 Factor PassResourceUsageTracker to its own file
GPURenderBundleEncoder and GPUCommandEncoder will need to share code
for tracking resource usages.

Bug: dawn:154
Change-Id: I0286f71c4c0638f89be2754c8e9691e67e5db335
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9700
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-08 17:21:39 +00:00
Austin Eng bb10a91876 Fix leak of AttachmentState
Unlike API objects, the AttachmentState object is only used internally
and should have no external references. We should not increment the
reference count on creation because it is Ref'ed internally. This patch
also adds ASSERTs that all Device caches are empty when the Device is
destroyed.

Bug: dawn:154
Change-Id: I5dd46bde03c0be920356444e6b1214ed38e833e8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9761
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-07 21:47:24 +00:00
Yan, Shaobo 421584173c Fix dynamic buffer offset issues on D3D12 backend
This patch fixes
1. Inherit dynamic buffer offsets : dawn chooses vulkan
like inherit behaviour, so dynamic offsets need to be inherited.
This patch adds inherit dynamic offsets between pipelines support and
adds tests to cover it.

2. Dynamic offsets are skipped when groups have been set : in D3D12
backend, when invoke SetBindGroup, dawn will check whether this group
has already been set and skip updating root signature if the answer is
yes. However, this behaviour will affect dynamic offsets update. With
the latest patch, we always update dynamic offsets, even if they didn't
change and adds tests to cover it.

This patch also hit a dawn's issue about storage buffer validation in compute pass.
Currently the validation is a workaround to avoid access conflicts but will impact
using dynamic buffer offset in compute pipeline. Fix this issue is hard so disable
related test for now and will enable it after the issue been fixed. File dawn bug
198 to track this

BUG=dawn:55

Change-Id: I2b0f179b3555d37d5b350292eb729767b0d60ab6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9621
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-07 18:20:33 +00:00
Jiawei Shao 1cd83ffbdd Code clean up in CompressedTextureFormatTests
This patch does some code clean-ups in CompressedTextureFormatTests as
the preparation of adding new tests in the following patches.

BUG=dawn:42
TEST=dawn_end2end_tests

Change-Id: Ie00eeca2d3a161f3673c554b91b54eebea4bf8bb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9740
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-07 07:32:47 +00:00
Jiawei Shao 6de5baa17b Skip several end2end tests
This patch skips several flaky and failed tests on the related Dawn
backends.
1. Tests on all integer/unsigned integer formats in TextureFormatTest on
   Intel OpenGL drivers.
2. All CompressedTextureBCFormatTest tests on Intel Vulkan Windows
   drivers.
3. BufferSetSubDataTests/ManySetSubData on Intel Vulkan Linux drivers.

BUG=dawn:128, dawn:199, chromium:980737

Change-Id: Ia8912804ea762b458be0b48d9df341ff7637f608
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9800
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-07 07:11:57 +00:00
Austin Eng 38ee172a22 Fix dynamic bind group size in Animometer example
Change-Id: I2a916059d1f5fe83d2d4d8db60d4b74e553e2889
Bug: dawn:55
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9720
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-05 18:30:11 +00:00
Corentin Wallez ccf805046a Make Snorm formats non-renderable
They aren't guaranteed renderable in Vulkan nor core OpenGL 4.5 without
extensions. They happened to work on a lot of our CQ builders but failed
on Intel OpenGL Linux which helped understand this was an issue.

BUG=dawn:128

Change-Id: I83c4f8116c1125c3bac2f1dd6197976c9063e129
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9682
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2019-08-05 03:06:22 +00:00
Corentin Wallez bfc9cee5d3 Implement OpArrayLength on Metal
Metal uses a physical addressing mode and buffers are just pointers in
GPU memory that don't have a size. This prevents implementing
OpArrayLength without any additional information. When a shader uses
OpArrayLength on unsized arrays, SPIRV-Cross requires an extra buffer
argument that gets the length of the buffers.

Use that workaround mechanism in the Metal backend by keeping track of
the storage buffer sizes and applying the extra "buffer length buffer"
when a pipeline requires it.

Also adds tests that OpArraySize works in all shader stages.

BUG=dawn:195

Change-Id: I6aa6089aaea85d0589ccad1756e55dd0befefcb5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9386
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-02 18:15:08 +00:00
Idan Raiter ef4f3bd174 Add external memory and semaphore extensions
Also adds GetGlobalInfo, similar to GetDeviceInfo, but for code that wants to query instance extensions or API version.

Bug: chromium:976495
Change-Id: Ia7131aa1780737ec2691cde0007acb86a120d307
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9620
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2019-08-02 18:10:38 +00:00
François Beaufort 54b4df7069 s/isPIXEventRuntimeLoaded/IsPIXEventRuntimeLoaded/g
Bug: dawn:44
Change-Id: I15768299cadbd5f193ae0e878befc4f5ba5a1c58
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9681
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2019-08-02 09:57:28 +00:00
Corentin Wallez d64ee1a150 Implement most texture formats on OpenGL
The only missing one is BGRA8UnormSrgb because it doesn't exist in
OpenGL and will need further emulation.

Also suppress most tests on the Mesa Intel GL driver that fails tests
pending further debugging.

BUG=dawn:128

Change-Id: Id454a89711e25b14c7de75a36c7642f2429a0e1f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/8364
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2019-08-02 09:46:58 +00:00
François Beaufort e58fbc48b8 Handle debug markers commands for compute pass encoder
This CL makes sure debug markers commands are handled not only for
render pass encoder, but also compute pass encoder.

Bug: dawn:44
Change-Id: Iad1865d7c20e36d580e1f3f16496e4b90cc1ff34
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9680
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2019-08-02 09:30:28 +00:00
François Beaufort ae7e0026a5 Make fragment stage optional in RenderPipeline
This CL makes fragment stage optional but still raises a validation
error if set to null in a RenderPipeline.

Bug: dawn:136
Change-Id: Ie900d2e768d251db1e0c4a90738f80b2de15dc2f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9641
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
2019-08-02 07:46:57 +00:00
Idan Raiter c1583a558c Create CommandRecordingContext
Adds a structure that contains wait / signal semaphores and the current command buffer. Will allow us to have a list of pending semaphores after recording, either to consume or do something smarter with in the future.

Bug: chromium:976495
Change-Id: Ib61455039bd97ac8b0ff701af2b694cc8794226d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9600
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-08-02 05:16:42 +00:00
Jiawei Shao 574b951188 Support BC formats as the first extension in Dawn
This patch refactors the current implementation of BC formats to treat
it as the first extension in Dawn and adds all the related tests.

Note that in Dawn all the extensions are disabled unless we enable them
when we create the device, which means the BC formats can only be used
when we enable the related extension on the creation of the device, and
the creation of the device will fail if the adapter does not support the
extension

BUG=dawn:42
TEST=dawn_end2end_tests
TEST=dawn_unittests

Change-Id: I04d818b0218ebb3b1b7a70a4fea71779f308f85f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9520
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2019-08-02 00:06:38 +00:00
Corentin Wallez 56f3a7b90d WrapIOSurface: Add support for RGBA8
BUG=dawn:112

Change-Id: I18d2e8bc0bcca2725f2087913955c8ecadbd5852
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9642
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Idan Raiter <idanr@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2019-08-01 17:58:05 +00:00
Yan, Shaobo 351ea23830 Dynamic Buffer Offset : D3D Backend
In a typical graphics application it is a common usage to update some uniforms once per draw,
and such uniforms include the word positions, orientations, and so on. In the current state of
WebGPU, this means that for each draw call we have to create a new bind group to set the right
uniform values. Bind group creation is expected to be more expensive than
recording draws because a memory allocation is required.

The functionality of dynamic buffer offset is to reduce the number of bind groups that need to
be created.

The patch implements dynamic buffer offset on D3D backend using root descriptor.

Bug=dawn:55

Change-Id: Ia713a4edb3c0ab8f3bba048d7813f343e9dee166
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9040
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2019-07-31 01:29:42 +00:00
Jiawei Shao d08611b7a8 Move all the implementations of Toggle to Toggles.cpp
This patch moves all the code related to Toggle from Instance.cpp to
Toggles.cpp to make the code in Instance.cpp cleaner.

BUG=dawn:56

Change-Id: Ica2a779569478a58ddf21e632a211c0c5b889b00
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9580
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2019-07-30 23:58:52 +00:00
Bryan Bernhart 35ad5221fb Resource Management 3: Buddy allocator
Introduces the buddy system for fast power-of-two sub-allocation.

BUG=dawn:27

Change-Id: I56836ae317ecc5a91d8341c843fc37d4f91fb5af
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9260
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2019-07-30 16:46:10 +00:00
Corentin Wallez 7b57c5bb77 Check bindgroup validity first in SetBindGroup
bindgroup->GetLayout() was called before checking the bindgroup is an
error, causing an assert to fire in Debug. Adds a regression unittest.

BUG=dawn:196

Change-Id: I58e95879a7f2a7cf5c47c7b228f7e3b5bb72d8ea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9560
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2019-07-30 06:49:09 +00:00
Yan, Shaobo 34f8bd8c48 Dynamic Buffer Offset : OpenGL Backend
In a typical graphics application it is a common usage to update some uniforms once per draw,
and such uniforms include the word positions, orientations, and so on. In the current state of
WebGPU, this means that for each draw call we have to create a new bind group to set the right
uniform values. Bind group creation is expected to be more expensive than
recording draws because a memory allocation is required.

The functionality of dynamic buffer offset is to reduce the number of bind groups that need to
be created.

The patch implements dynamic buffer offset on OpenGL backend using glBindBufferRange and adds
validation to check whether visibility of resources are none.

Bug=dawn:55

Change-Id: I77e10a9677d1737f377301ee89e29d904c91c298
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9540
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
2019-07-30 01:21:19 +00:00
Idan Raiter 7dec2d1c56 Use Vulkan 1.1 if available
Bug: chromium:976495
Change-Id: I10940340fab44b44e26cfb025f8c932a5e62f02e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9500
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2019-07-29 23:31:49 +00:00
Corentin Wallez 10fe83305a Metal: Pack vertex buffers just after the pipeline layout
WebGPU have a 2D pipeline layout plus a vertex buffer table while Metal
has a single vertex buffer table that contains everything (including
uniform and storage buffers). Previously the space for vertex buffers
was statically allocated in that table which made the last vertex buffer
go out of bound of the Metal vertex buffer table.

This fixes the issue by packing all the vertex buffers that are used
right after the vertex buffers used by the bind groups. This is a
drive-by fix found while looking at reserving Metal vertex buffer 30 to
contain the shader storage buffer lengths.

BUG=dawn:195

Change-Id: If5c67bbc0d15c976793ef43889e50e4a360217d7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9387
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2019-07-29 14:11:06 +00:00
Austin Eng b98f0faa4d Deduplicate AttachmentState shared by RenderPipeline and RenderPasses
This both deduplicates shared state by multiple passes or pipelines and
makes checking pipeline compatibility a single pointer check. It will be
useful for also checking RenderBundle compatibility.

Bug: dawn:154
Change-Id: I0fb289fab5ac76a7fbd500f64b8a6409a246ab32
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9461
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2019-07-26 19:08:18 +00:00
Natasha Lee e69627f35e Backdoor to get the number of texture lazy clears for testing
Bug: dawn:145
Change-Id: Ie01b21ce490832c459e74c76a7b8d9f203552bfe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9400
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Natasha Lee <natlee@microsoft.com>
2019-07-26 17:54:48 +00:00
Bryan Bernhart 506ce9bba4 Fix MSVC builder failure with NextPowerOfTwo.
Define behavior of n=0 when compiling on MSVC.

BUG=dawn:27

Change-Id: If9d454833f5b3d8f0183eba2bc5a54f9ca6e56a2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9440
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2019-07-26 11:20:08 +00:00
Jiawei Shao 9d2ccaf65c Vulkan: Support recreating swapchain with SwapChain.Configure()
This patch adds the support of recreating a swapchain with SwapChain.
Configure() on Vulkan backends.
1. Query the Vulkan surface information again.
2. Clean up old swapchain.

BUG=dawn:177

Change-Id: Id7e9e07e9dbbba4a71322367cae10fb179106220
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9340
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2019-07-25 01:08:14 +00:00
Bryan Bernhart 2718177841 Resource Management 4: Stress test buffer writes
Add test for many buffer writes.

BUG=dawn:27

Change-Id: I026c3b9a6d30c7c6634b89db9798902b036150c3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9280
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2019-07-24 20:09:44 +00:00
Austin Eng fde94905fe Factor EncodingContext out of CommandEncoderBase.
This patch factors the CommandAllocator, CommandIterator, and error
handling out of CommandEncoderBase so it can later be used by the
RenderBundleEncoder.

Bug: dawn:154
Change-Id: Ia4f8c3ce7f432f0887b619bd8090aa9bec7330fc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9181
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2019-07-24 18:15:24 +00:00
Natasha Lee 8944f0205b Test that sampled textures in compute and render pass get lazy cleared
Bug: dawn:145
Change-Id: I719faf0a07a2011be0cdee3a7bead2437f524ba7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/8660
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Natasha Lee <natlee@microsoft.com>
2019-07-23 20:30:24 +00:00