mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-13 10:51:35 +00:00
This reverts commit e1d976ed9123ccbe8a9fa31ffb90c2b19fc53eb7. Reason for revert: crbug.com/tint/123 Original change's description: > Turn on WGSL support by default in Dawn > > Tint is available in Chromium now, so we can turn this on. For situations were > WGSL support is not needed it can still be turned off via args.gn. > > Roll third_party/tint/ 16890b9ce..13904a612 (15 commits) > > https://dawn.googlesource.com/tint/+log/16890b9ce8b7..5f43fedcd > > $ git log 16890b9ce..5f43fedcd --date=short --no-merges --format='%ad %ae %s' > 2020-07-16 rharrison Clean up how deps are defined in BUILD.gn > 2020-07-16 dsinclair Remove refs.cfg. > 2020-07-16 dsinclair Fixup group list name > 2020-07-16 dsinclair [msl-writer] Emitting of program constants. > 2020-07-16 dsinclair [msl-writer] Fixup matrix and array constructors. > 2020-07-16 dsinclair Differentiate size and stride in array type name. > 2020-07-16 dneto [spirv-reader] Support duplicate type definitions > 2020-07-15 dsinclair [msl-writer] Add struct offset support. > 2020-07-15 dsinclair [msl-writer] Add builtin support > 2020-07-15 dsinclair Add helpers for referenced variables. > 2020-07-15 dsinclair [msl-writer] Refactor some entry point variable code. > 2020-07-15 dsinclair [msl-writer] Generate entry point functions. > 2020-07-14 dsinclair [msl-writer] Handle emitting user function calls. > 2020-07-14 dsinclair Inherit refererenced globals up the call stack. > 2020-07-14 dsinclair [msl-writer] Generate input/output structs > > Created with: > roll-dep third_party/tint > > Change-Id: Ia437e8dc309b06a64ddd4d91ec3af1499af13553 > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24920 > Commit-Queue: Ryan Harrison <rharrison@chromium.org> > Reviewed-by: dan sinclair <dsinclair@chromium.org> > Reviewed-by: Ryan Harrison <rharrison@chromium.org> TBR=cwallez@chromium.org,kainino@chromium.org,enga@chromium.org,dneto@google.com,rharrison@chromium.org,dsinclair@chromium.org Change-Id: I21513d5b5d461eccd42aa650fa4b46e85daf642f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/25480 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
92 lines
3.4 KiB
Plaintext
92 lines
3.4 KiB
Plaintext
# Copyright 2018 The Dawn Authors
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import("//build_overrides/build.gni")
|
|
|
|
if (build_with_chromium) {
|
|
import("//build/config/sanitizers/sanitizers.gni")
|
|
}
|
|
|
|
declare_args() {
|
|
# Enables usage of swiftshader on the Vulkan backend.
|
|
# Note that this will only work in standalone and in projects that set the
|
|
# dawn_swiftshader_dir variable in build_overrides/dawn.gni
|
|
# Because of how the Vulkan loader works, setting this makes Dawn only able
|
|
# to find the Swiftshader ICD and not the others.
|
|
# Enabled by default when fuzzing.
|
|
dawn_use_swiftshader = build_with_chromium && use_fuzzing_engine
|
|
}
|
|
|
|
declare_args() {
|
|
# Enable Dawn's ASSERTs even in release builds
|
|
dawn_always_assert = false
|
|
|
|
# Should the Dawn static libraries be fully linked vs. GN's default of
|
|
# treating them as source sets. This is useful for people using Dawn
|
|
# standalone to produce static libraries to use in their projects.
|
|
dawn_complete_static_libs = false
|
|
|
|
# Enables the compilation of Dawn's D3D12 backend
|
|
dawn_enable_d3d12 = is_win
|
|
|
|
# Enables the compilation of Dawn's Metal backend
|
|
dawn_enable_metal = is_mac
|
|
|
|
# Enables the compilation of Dawn's Null backend
|
|
# (required for unittests, obviously non-conformant)
|
|
dawn_enable_null = true
|
|
|
|
# Enables the compilation of Dawn's OpenGL backend
|
|
# (best effort, non-conformant)
|
|
dawn_enable_opengl = is_linux && !is_chromeos
|
|
|
|
# Enables the compilation of Dawn's Vulkan backend
|
|
dawn_enable_vulkan =
|
|
is_linux || is_win || is_fuchsia || is_android || dawn_use_swiftshader
|
|
|
|
# Enable use of reflection compiler in spirv-cross. This is needed
|
|
# if performing reflection on systems that the platform language
|
|
# shader is SPIR-V, since there isn't an instance of the
|
|
# GLSL/HLSL/MSL compiler. This implicitly pulls in the GLSL
|
|
# compiler, since it is a sub-class of it.
|
|
dawn_enable_cross_reflection = false
|
|
|
|
# Enables error injection for faking failures to native API calls
|
|
dawn_enable_error_injection =
|
|
is_debug || (build_with_chromium && use_fuzzing_engine)
|
|
|
|
# Whether Dawn should enable X11 support.
|
|
dawn_use_x11 = is_linux && !is_chromeos
|
|
|
|
# Enable support WGSL for shaders. Currently this is
|
|
# experimental, and requires dawn_tint_dir to be set.
|
|
dawn_enable_wgsl = false
|
|
}
|
|
|
|
# GN does not allow reading a variable defined in the same declare_args().
|
|
# Put them in two separate declare_args() when setting the value of one
|
|
# argument based on another.
|
|
declare_args() {
|
|
# Uses our built version of the Vulkan validation layers
|
|
dawn_enable_vulkan_validation_layers =
|
|
dawn_enable_vulkan && ((is_linux && !is_chromeos) || is_win || is_mac)
|
|
|
|
# Uses our built version of the Vulkan loader on platforms where we can't
|
|
# assume to have one present at the system level.
|
|
dawn_enable_vulkan_loader = dawn_enable_vulkan && is_mac
|
|
}
|
|
|
|
dawn_supports_glfw_for_windowing =
|
|
is_win || (is_linux && !is_chromeos) || is_mac
|