commit | beb4657e7c24593ff13530a01590cafd3c92882a | [log] [tgz] |
---|---|---|
author | Amirali Abdolrashidi <abdolrashidi@google.com> | Mon Aug 21 20:55:04 2023 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Aug 21 21:02:48 2023 |
tree | 2245cc81a50e898067d9a5007dc1a61375bfe697 | |
parent | 8858baf8b42dc07b794b37688bf14dce60b6f2d0 [diff] |
Update Chromium to use VMA 3.0 Following the change in ANGLE to add support for VMA 3.0, we must also update the VMA version used in Chromium. Currently ANGLE supports both VMA 2.3 and 3.0, via setting ANGLE_VMA_VERSION which is defined based on the build files. In Chromium, since this parameter is not set, ANGLE defaults to using VMA 2.3, which results in conflict if only the VMA hash is changed. * ANGLE CL: https://crrev.com/c/4777337 * Updated the VMA hash in the dependencies to the 3.0 version. * Updated the usage of some functions and variables in gpu/vulkan/ to be in line with the new VMA changes. * Added angle_vma_version to the build files. It is set to allow ANGLE to use VMA 3.0. * This parameter is added temporarily. When ANGLE removes support for VMA 2.3, it can be removed. Bug: b/295208838 Change-Id: I7a0592291d8d0d9902942d39f83e338647753521 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4794544 Reviewed-by: Peng Huang <penghuang@chromium.org> Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Cr-Commit-Position: refs/heads/main@{#1186061} NOKEYCHECK=True GitOrigin-RevId: 39d7f0daabd13c913865b2a583d6da21d77a5f70
This directory is used to allow different products to customize settings for repos that are DEPS'ed in or shared.
For example: V8 could be built on its own (in a “standalone” configuration), and it could be built as part of Chromium. V8 might define a top-level target, //v8:d8 (a simple executable), that should only be built in the standalone configuration. To figure out whether or not it should be in a standalone configuration, v8 can create a file, build_overrides/v8.gni, that contains a variable, build_standalone_d8 = true
. and import it (as import(“//build_overrides/v8.gni”) from its top-level BUILD.gn file.
Chromium, on the other hand, might not need to build d8, and so it would create its own build_overrides/v8.gni file, and in it set build_standalone_d8 = false
.
The two files should define the same set of variables, but the values can vary as appropriate to the needs of the two different builds.
The build.gni file provides a way for projects to override defaults for variables used in //build itself (which we want to be shareable between projects).
TODO(crbug.com/588513): Ideally //build_overrides and, in particular, //build_overrides/build.gni should go away completely in favor of some mechanism that can re-use other required files like //.gn, so that we don't have to keep requiring projects to create a bunch of different files to use GN.