зеркало из https://github.com/AvaloniaUI/angle.git
Vulkan: Use glslang's internal BUILD.gn.
This retires the ANGLE BUILD.gn file for glslang. Also makes a few more repos sync from Chromium's copy using build overrides. This should speed up Chrome checkouts slightly. Bug: angleproject:3088 Change-Id: I530f28d9b13469bbe6471a4c61e7353d599d81ec Reviewed-on: https://chromium-review.googlesource.com/c/1422545 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
This commit is contained in:
Родитель
8922ac230f
Коммит
0cb3b0f1e0
26
BUILD.gn
26
BUILD.gn
|
@ -1,4 +1,4 @@
|
|||
# Copyright 2014-2015 The Chromium Authors. All rights reserved.
|
||||
# Copyright 2019 The ANGLE Project Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
|
@ -446,19 +446,16 @@ config("libANGLE_config") {
|
|||
if (angle_enable_vulkan) {
|
||||
# Use this target to include everything ANGLE needs for Vulkan.
|
||||
group("angle_vulkan") {
|
||||
deps = [
|
||||
"$angle_root/third_party/glslang:glslang",
|
||||
]
|
||||
public_deps = [
|
||||
"$angle_root/third_party/vulkan-headers:vulkan_headers",
|
||||
]
|
||||
public_configs = [
|
||||
"$angle_root/third_party/glslang:glslang_config",
|
||||
"$angle_root/third_party/vulkan-validation-layers:vulkan_config",
|
||||
]
|
||||
public_configs =
|
||||
[ "$angle_root/third_party/vulkan-validation-layers:vulkan_config" ]
|
||||
data_deps = []
|
||||
if (!is_android) {
|
||||
deps += [ "$angle_root/third_party/vulkan-loader:libvulkan" ]
|
||||
deps = [
|
||||
"$angle_root/third_party/vulkan-loader:libvulkan",
|
||||
]
|
||||
data_deps += [ "$angle_root/third_party/vulkan-tools:VkICD_mock_icd" ]
|
||||
public_configs +=
|
||||
[ "$angle_root/third_party/vulkan-loader:vulkan_loader_config" ]
|
||||
|
@ -574,7 +571,12 @@ angle_static_library("libANGLE") {
|
|||
sources += libangle_vulkan_android_sources
|
||||
libs += [ "vulkan" ]
|
||||
}
|
||||
deps += [ ":angle_vulkan" ]
|
||||
deps += [
|
||||
":angle_vulkan",
|
||||
"${angle_glslang_dir}:glslang_default_resource_limits_sources",
|
||||
"${angle_glslang_dir}:glslang_sources",
|
||||
"${angle_spirv_tools_dir}:spvtools_val",
|
||||
]
|
||||
public_deps += [ "$angle_root/third_party/vulkan-headers:vulkan_headers" ]
|
||||
|
||||
# Include generated shaders.
|
||||
|
@ -943,7 +945,7 @@ angle_shared_library("libfeature_support${angle_libs_suffix}") {
|
|||
|
||||
public_configs += [
|
||||
":angle_feature_support_config",
|
||||
"third_party/jsoncpp:jsoncpp_config",
|
||||
"${angle_jsoncpp_dir}:jsoncpp_config",
|
||||
]
|
||||
|
||||
sources = [
|
||||
|
@ -953,7 +955,7 @@ angle_shared_library("libfeature_support${angle_libs_suffix}") {
|
|||
|
||||
deps = [
|
||||
":angle_gpu_info_util",
|
||||
"third_party/jsoncpp:jsoncpp",
|
||||
"${angle_jsoncpp_dir}:jsoncpp",
|
||||
]
|
||||
}
|
||||
|
||||
|
|
21
DEPS
21
DEPS
|
@ -12,13 +12,13 @@ vars = {
|
|||
'deqp_revision': 'f5637d67a00a1081a13008bb8dc93b2616c935e2',
|
||||
|
||||
# Current revision of glslang, the Khronos SPIRV compiler.
|
||||
'glslang_revision': 'f9edfdab0e872c674e0a80e083239aa9637871ba',
|
||||
'glslang_revision': '8dff52509e5c73818d70ea5386886b6cb908962f',
|
||||
|
||||
# Current revision fo the SPIRV-Headers Vulkan support library.
|
||||
'spirv_headers_revision': 'd5b2e1255f706ce1f88812217e9a554f299848af',
|
||||
'spirv_headers_revision': '79b6681aadcb53c27d1052e5f8a0e82a981dbf2f',
|
||||
|
||||
# Current revision of SPIRV-Tools for Vulkan.
|
||||
'spirv_tools_revision': 'd73b9d8dfbf7761e3fde323af00ec18ebfc0020c',
|
||||
'spirv_tools_revision': 'd14db341b834cfb3c574a258c331b3a6b1c2cbc5',
|
||||
|
||||
# Current revision of Khronos Vulkan-Headers.
|
||||
'vulkan_headers_revision': 'b65941cc4b2b43b74de00534d110b581c52c394b',
|
||||
|
@ -62,7 +62,8 @@ deps = {
|
|||
|
||||
'{angle_root}/third_party/glslang/src': {
|
||||
'url': '{chromium_git}/external/github.com/KhronosGroup/glslang@{glslang_revision}',
|
||||
},
|
||||
'condition': 'not build_with_chromium',
|
||||
},
|
||||
|
||||
'{angle_root}/third_party/googletest/src': {
|
||||
'url': '{chromium_git}/external/github.com/google/googletest.git@d5932506d6eed73ac80b9bcc47ed723c8c74eb1e',
|
||||
|
@ -76,19 +77,21 @@ deps = {
|
|||
|
||||
'{angle_root}/third_party/jsoncpp': {
|
||||
'url': '{chromium_git}/chromium/src/third_party/jsoncpp@fd0ac8ce63a47e99b71a58f1489136fbb19c9137',
|
||||
},
|
||||
'condition': 'not build_with_chromium',
|
||||
},
|
||||
|
||||
'{angle_root}/third_party/jsoncpp/source': {
|
||||
'url' : '{chromium_git}/external/github.com/open-source-parsers/jsoncpp@f572e8e42e22cfcf5ab0aea26574f408943edfa4'
|
||||
},
|
||||
'url' : '{chromium_git}/external/github.com/open-source-parsers/jsoncpp@f572e8e42e22cfcf5ab0aea26574f408943edfa4',
|
||||
'condition': 'not build_with_chromium',
|
||||
},
|
||||
|
||||
'{angle_root}/third_party/spirv-headers/src': {
|
||||
'url': '{android_git}/platform/external/shaderc/spirv-headers@{spirv_headers_revision}',
|
||||
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Headers@{spirv_headers_revision}',
|
||||
'condition': 'not build_with_chromium',
|
||||
},
|
||||
|
||||
'{angle_root}/third_party/spirv-tools/src': {
|
||||
'url': '{android_git}/platform/external/shaderc/spirv-tools@{spirv_tools_revision}',
|
||||
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@{spirv_tools_revision}',
|
||||
'condition': 'not build_with_chromium',
|
||||
},
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
# Copyright 2019 The ANGLE Project Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# Overrides for ANGLE's dependencies
|
||||
angle_glslang_dir = "//third_party/glslang/src"
|
||||
angle_googletest_dir = "//third_party/googletest/src"
|
||||
angle_jsoncpp_dir = "//third_party/jsoncpp"
|
||||
angle_libpng_dir = "//third_party/libpng"
|
||||
angle_spirv_tools_dir = "//third_party/spirv-tools/src"
|
|
@ -0,0 +1,6 @@
|
|||
# Copyright 2019 The ANGLE Project Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# Paths to glslang dependencies in ANGLE
|
||||
glslang_spirv_tools_dir = "//third_party/spirv-tools/src"
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright 2018 The Chromium Authors. All rights reserved.
|
||||
# Copyright 2019 The ANGLE Project Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Copyright 2015 The Chromium Authors. All rights reserved.
|
||||
# Copyright 2019 The ANGLE Project Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
import("//build_overrides/angle.gni")
|
||||
import("//build/config/sanitizers/sanitizers.gni")
|
||||
import("//build/config/ui.gni") # import the use_x11 variable
|
||||
import("//build_overrides/build.gni")
|
||||
|
|
|
@ -9,8 +9,7 @@
|
|||
#include "libANGLE/renderer/vulkan/GlslangWrapper.h"
|
||||
|
||||
// glslang's version of ShaderLang.h, not to be confused with ANGLE's.
|
||||
// Our function defs conflict with theirs, but we carefully manage our includes to prevent this.
|
||||
#include <ShaderLang.h>
|
||||
#include <glslang/Public/ShaderLang.h>
|
||||
|
||||
// Other glslang includes.
|
||||
#include <SPIRV/GlslangToSpv.h>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright 2015 The Chromium Authors. All rights reserved.
|
||||
# Copyright 2015 The ANGLE Project Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
|
@ -28,23 +28,23 @@ if (build_with_chromium) {
|
|||
|
||||
config("angle_internal_gtest_config") {
|
||||
include_dirs = [
|
||||
"//third_party/googletest/src/googletest",
|
||||
"//third_party/googletest/src/googletest/include",
|
||||
"${angle_googletest_dir}/googletest",
|
||||
"${angle_googletest_dir}/googletest/include",
|
||||
]
|
||||
}
|
||||
|
||||
angle_static_library("angle_internal_gtest") {
|
||||
sources = [
|
||||
"//third_party/googletest/src/googletest/src/gtest-all.cc",
|
||||
"${angle_googletest_dir}/googletest/src/gtest-all.cc",
|
||||
]
|
||||
public_configs += [ ":angle_internal_gtest_config" ]
|
||||
}
|
||||
|
||||
config("angle_internal_gmock_config") {
|
||||
include_dirs = [
|
||||
"//third_party/googletest/src/googlemock",
|
||||
"//third_party/googletest/src/googlemock/include",
|
||||
"//third_party/googletest/src/googletest/include",
|
||||
"${angle_googletest_dir}/googlemock",
|
||||
"${angle_googletest_dir}/googlemock/include",
|
||||
"${angle_googletest_dir}/googletest/include",
|
||||
]
|
||||
if (is_clang) {
|
||||
# TODO: Can remove this if/when the issue is fixed.
|
||||
|
@ -55,7 +55,7 @@ if (build_with_chromium) {
|
|||
|
||||
angle_static_library("angle_internal_gmock") {
|
||||
sources = [
|
||||
"//third_party/googletest/src/googlemock/src/gmock-all.cc",
|
||||
"${angle_googletest_dir}/googlemock/src/gmock-all.cc",
|
||||
]
|
||||
public_configs += [ ":angle_internal_gmock_config" ]
|
||||
}
|
||||
|
@ -93,9 +93,9 @@ template("angle_tests_main") {
|
|||
testonly = true
|
||||
public_deps = googletest_deps
|
||||
deps = [
|
||||
angle_root + ":includes",
|
||||
"${angle_root}:includes",
|
||||
]
|
||||
configs += [ angle_root + ":internal_config" ]
|
||||
configs += [ "${angle_root}:internal_config" ]
|
||||
|
||||
main = invoker.main
|
||||
|
||||
|
@ -134,10 +134,10 @@ angle_test("angle_unittests") {
|
|||
}
|
||||
|
||||
deps = googletest_deps + [
|
||||
angle_root + ":libANGLE",
|
||||
angle_root + ":preprocessor",
|
||||
angle_root + ":translator",
|
||||
angle_root + ":libfeature_support${angle_libs_suffix}",
|
||||
"${angle_root}:libANGLE",
|
||||
"${angle_root}:preprocessor",
|
||||
"${angle_root}:translator",
|
||||
"${angle_root}:libfeature_support${angle_libs_suffix}",
|
||||
":angle_unittests_main",
|
||||
]
|
||||
}
|
||||
|
@ -166,21 +166,21 @@ if (is_win || is_linux || is_mac || is_android) {
|
|||
}
|
||||
|
||||
configs += [
|
||||
angle_root + ":libANGLE_config",
|
||||
angle_root + ":library_name_config",
|
||||
"${angle_root}:libANGLE_config",
|
||||
"${angle_root}:library_name_config",
|
||||
]
|
||||
|
||||
deps = [
|
||||
angle_root + ":angle_image_util",
|
||||
angle_root + ":angle_util",
|
||||
angle_root + ":angle_util_loader_headers",
|
||||
":angle_end2end_tests_main",
|
||||
"${angle_root}:angle_image_util",
|
||||
"${angle_root}:angle_util",
|
||||
"${angle_root}:angle_util_loader_headers",
|
||||
]
|
||||
|
||||
data_deps = [
|
||||
angle_root + ":libEGL${angle_libs_suffix}",
|
||||
angle_root + ":libGLESv1_CM${angle_libs_suffix}",
|
||||
angle_root + ":libGLESv2${angle_libs_suffix}",
|
||||
"${angle_root}:libEGL${angle_libs_suffix}",
|
||||
"${angle_root}:libGLESv1_CM${angle_libs_suffix}",
|
||||
"${angle_root}:libGLESv2${angle_libs_suffix}",
|
||||
]
|
||||
|
||||
if (is_android) {
|
||||
|
@ -204,18 +204,18 @@ if (is_win || is_linux || is_mac || is_android) {
|
|||
}
|
||||
|
||||
configs += [
|
||||
angle_root + ":libANGLE_config",
|
||||
angle_root + ":library_name_config",
|
||||
"${angle_root}:libANGLE_config",
|
||||
"${angle_root}:library_name_config",
|
||||
]
|
||||
|
||||
deps = [
|
||||
angle_root + ":angle_util_static",
|
||||
angle_root + ":libANGLE",
|
||||
angle_root + ":libEGL_static",
|
||||
angle_root + ":libGLESv2_static",
|
||||
angle_root + ":preprocessor",
|
||||
angle_root + ":translator",
|
||||
":angle_end2end_tests_main",
|
||||
"${angle_root}:angle_util_static",
|
||||
"${angle_root}:libANGLE",
|
||||
"${angle_root}:libEGL_static",
|
||||
"${angle_root}:libGLESv2_static",
|
||||
"${angle_root}:preprocessor",
|
||||
"${angle_root}:translator",
|
||||
]
|
||||
|
||||
if (is_android) {
|
||||
|
@ -233,12 +233,12 @@ if (is_win || is_linux || is_android || is_mac) {
|
|||
sources = angle_white_box_perf_tests_sources
|
||||
|
||||
deps = [
|
||||
angle_root + ":angle_util_static",
|
||||
angle_root + ":libANGLE",
|
||||
angle_root + ":libEGL_static",
|
||||
angle_root + ":libGLESv2_static",
|
||||
angle_root + "/third_party/jsoncpp:jsoncpp",
|
||||
":angle_perftests_main",
|
||||
"${angle_jsoncpp_dir}:jsoncpp",
|
||||
"${angle_root}:angle_util_static",
|
||||
"${angle_root}:libANGLE",
|
||||
"${angle_root}:libEGL_static",
|
||||
"${angle_root}:libGLESv2_static",
|
||||
]
|
||||
|
||||
if (is_win) {
|
||||
|
@ -247,13 +247,12 @@ if (is_win || is_linux || is_android || is_mac) {
|
|||
|
||||
if (angle_enable_vulkan) {
|
||||
sources += angle_white_box_perf_tests_vulkan_sources
|
||||
deps += [ "$angle_root/third_party/glslang:glslang" ]
|
||||
public_configs += [ "$angle_root/third_party/glslang:glslang_config" ]
|
||||
deps += [ "${angle_glslang_dir}:glslang_sources" ]
|
||||
}
|
||||
|
||||
configs += [
|
||||
angle_root + ":libANGLE_config",
|
||||
angle_root + ":library_name_config",
|
||||
"${angle_root}:libANGLE_config",
|
||||
"${angle_root}:library_name_config",
|
||||
]
|
||||
|
||||
if (is_android) {
|
||||
|
@ -267,22 +266,22 @@ if (is_win || is_linux || is_android || is_mac) {
|
|||
sources = angle_perf_tests_sources
|
||||
|
||||
deps = [
|
||||
angle_root + "/third_party/jsoncpp:jsoncpp",
|
||||
angle_root + ":angle_common",
|
||||
angle_root + ":angle_system_utils",
|
||||
angle_root + ":angle_util",
|
||||
angle_root + ":angle_util_loader_headers",
|
||||
":angle_perftests_main",
|
||||
"${angle_jsoncpp_dir}:jsoncpp",
|
||||
"${angle_root}:angle_common",
|
||||
"${angle_root}:angle_system_utils",
|
||||
"${angle_root}:angle_util",
|
||||
"${angle_root}:angle_util_loader_headers",
|
||||
]
|
||||
|
||||
data_deps = [
|
||||
angle_root + ":libEGL${angle_libs_suffix}",
|
||||
angle_root + ":libGLESv2${angle_libs_suffix}",
|
||||
"${angle_root}:libEGL${angle_libs_suffix}",
|
||||
"${angle_root}:libGLESv2${angle_libs_suffix}",
|
||||
]
|
||||
|
||||
configs += [
|
||||
angle_root + ":libANGLE_config",
|
||||
angle_root + ":library_name_config",
|
||||
"${angle_root}:libANGLE_config",
|
||||
"${angle_root}:library_name_config",
|
||||
]
|
||||
|
||||
if (is_android) {
|
||||
|
@ -336,25 +335,25 @@ if (build_angle_gles1_conform_tests) {
|
|||
source_set("angle_gles1_conformance_no_gtest") {
|
||||
configs += [
|
||||
":angle_gles1_conform_support",
|
||||
angle_root + ":internal_config",
|
||||
"${angle_root}:internal_config",
|
||||
]
|
||||
|
||||
public_configs = [
|
||||
angle_root + ":angle_util_config",
|
||||
angle_root + ":gl_prototypes",
|
||||
angle_root + ":angle_static",
|
||||
"${angle_root}:angle_util_config",
|
||||
"${angle_root}:gl_prototypes",
|
||||
"${angle_root}:angle_static",
|
||||
]
|
||||
|
||||
testonly = true
|
||||
|
||||
deps = [
|
||||
angle_root + ":angle_common",
|
||||
angle_root + ":angle_util_static",
|
||||
angle_root + ":libEGL_static",
|
||||
angle_root + ":libGLESv1_CM_static",
|
||||
angle_root + ":libGLESv2_static",
|
||||
angle_root + ":preprocessor",
|
||||
angle_root + ":translator",
|
||||
"${angle_root}:angle_common",
|
||||
"${angle_root}:angle_util_static",
|
||||
"${angle_root}:libEGL_static",
|
||||
"${angle_root}:libGLESv1_CM_static",
|
||||
"${angle_root}:libGLESv2_static",
|
||||
"${angle_root}:preprocessor",
|
||||
"${angle_root}:translator",
|
||||
]
|
||||
|
||||
sources = [
|
||||
|
@ -503,8 +502,8 @@ if (build_angle_gles1_conform_tests) {
|
|||
]
|
||||
|
||||
configs += [
|
||||
angle_root + ":libANGLE_config",
|
||||
angle_root + ":library_name_config",
|
||||
"${angle_root}:libANGLE_config",
|
||||
"${angle_root}:library_name_config",
|
||||
]
|
||||
|
||||
if (is_android) {
|
||||
|
@ -591,7 +590,7 @@ if (build_angle_deqp_tests) {
|
|||
"//build/config/compiler:chromium_code",
|
||||
"//build/config/compiler:no_exceptions",
|
||||
"//build/config/compiler:no_rtti",
|
||||
angle_root + ":extra_warnings",
|
||||
"${angle_root}:extra_warnings",
|
||||
]
|
||||
|
||||
if (is_win) {
|
||||
|
@ -639,15 +638,15 @@ if (build_angle_deqp_tests) {
|
|||
angle_static_library("angle_deqp_libtester") {
|
||||
public_deps = [
|
||||
":angle_deqp_decpp",
|
||||
angle_root + ":angle_common",
|
||||
angle_root + ":angle_util",
|
||||
angle_root + ":libEGL${angle_libs_suffix}",
|
||||
angle_root + ":libGLESv2${angle_libs_suffix}",
|
||||
"//third_party/libpng:libpng",
|
||||
"${angle_libpng_dir}:libpng",
|
||||
"${angle_root}:angle_common",
|
||||
"${angle_root}:angle_util",
|
||||
"${angle_root}:libEGL${angle_libs_suffix}",
|
||||
"${angle_root}:libGLESv2${angle_libs_suffix}",
|
||||
]
|
||||
|
||||
suppressed_configs += deqp_undefine_configs
|
||||
configs += [ angle_root + ":library_name_config" ]
|
||||
configs += [ "${angle_root}:library_name_config" ]
|
||||
public_configs += [ ":angle_deqp_libtester_config" ]
|
||||
sources = deqp_libtester_sources
|
||||
if (is_win) {
|
||||
|
@ -670,9 +669,9 @@ if (build_angle_deqp_tests) {
|
|||
testonly = true
|
||||
|
||||
public_deps = [
|
||||
angle_root + ":angle_common",
|
||||
angle_root + ":angle_util",
|
||||
":angle_deqp_tests_main",
|
||||
"${angle_root}:angle_common",
|
||||
"${angle_root}:angle_util",
|
||||
]
|
||||
|
||||
public_configs += [ ":angle_deqp_gtest_support_config" ]
|
||||
|
@ -684,7 +683,7 @@ if (build_angle_deqp_tests) {
|
|||
}
|
||||
|
||||
if (!is_android) {
|
||||
public_deps += [ angle_root + ":angle_gpu_info_util" ]
|
||||
public_deps += [ "${angle_root}:angle_gpu_info_util" ]
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -724,7 +723,7 @@ if (build_angle_deqp_tests) {
|
|||
angle_shared_library(shared_library_name) {
|
||||
deps = [
|
||||
":angle_deqp_libtester",
|
||||
angle_root + ":angle_util",
|
||||
"${angle_root}:angle_util",
|
||||
]
|
||||
|
||||
suppressed_configs += deqp_undefine_configs
|
||||
|
|
|
@ -1,153 +0,0 @@
|
|||
# Copyright 2018 The ANGLE Project Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
import("../../gni/angle.gni")
|
||||
|
||||
# glslang
|
||||
# -------
|
||||
|
||||
config("glslang_config") {
|
||||
include_dirs = [
|
||||
"src",
|
||||
"src/glslang/Public",
|
||||
]
|
||||
}
|
||||
|
||||
config("glslang_internal_config") {
|
||||
cflags = []
|
||||
if (is_clang || !is_win) {
|
||||
cflags += [
|
||||
"-Wno-ignored-qualifiers",
|
||||
"-Wno-reorder",
|
||||
]
|
||||
}
|
||||
if (!is_clang && !is_win) {
|
||||
cflags += [ "-Wno-unused-function" ]
|
||||
}
|
||||
}
|
||||
|
||||
static_library("glslang") {
|
||||
sources = [
|
||||
"src/OGLCompilersDLL/InitializeDll.cpp",
|
||||
"src/OGLCompilersDLL/InitializeDll.h",
|
||||
"src/SPIRV/GLSL.ext.KHR.h",
|
||||
"src/SPIRV/GLSL.std.450.h",
|
||||
"src/SPIRV/GlslangToSpv.cpp",
|
||||
"src/SPIRV/GlslangToSpv.h",
|
||||
"src/SPIRV/InReadableOrder.cpp",
|
||||
"src/SPIRV/Logger.cpp",
|
||||
"src/SPIRV/Logger.h",
|
||||
"src/SPIRV/SpvBuilder.cpp",
|
||||
"src/SPIRV/SpvBuilder.h",
|
||||
"src/SPIRV/SpvPostProcess.cpp",
|
||||
"src/SPIRV/bitutils.h",
|
||||
"src/SPIRV/disassemble.cpp",
|
||||
"src/SPIRV/disassemble.h",
|
||||
"src/SPIRV/doc.cpp",
|
||||
"src/SPIRV/doc.h",
|
||||
"src/SPIRV/hex_float.h",
|
||||
"src/SPIRV/spirv.hpp",
|
||||
"src/SPIRV/spvIR.h",
|
||||
"src/StandAlone/ResourceLimits.cpp",
|
||||
"src/StandAlone/ResourceLimits.h",
|
||||
"src/glslang/GenericCodeGen/CodeGen.cpp",
|
||||
"src/glslang/GenericCodeGen/Link.cpp",
|
||||
"src/glslang/Include/BaseTypes.h",
|
||||
"src/glslang/Include/Common.h",
|
||||
"src/glslang/Include/ConstantUnion.h",
|
||||
"src/glslang/Include/InfoSink.h",
|
||||
"src/glslang/Include/InitializeGlobals.h",
|
||||
"src/glslang/Include/PoolAlloc.h",
|
||||
"src/glslang/Include/ResourceLimits.h",
|
||||
"src/glslang/Include/ShHandle.h",
|
||||
"src/glslang/Include/Types.h",
|
||||
"src/glslang/Include/arrays.h",
|
||||
"src/glslang/Include/intermediate.h",
|
||||
"src/glslang/Include/revision.h",
|
||||
"src/glslang/MachineIndependent/Constant.cpp",
|
||||
"src/glslang/MachineIndependent/InfoSink.cpp",
|
||||
"src/glslang/MachineIndependent/Initialize.cpp",
|
||||
"src/glslang/MachineIndependent/Initialize.h",
|
||||
"src/glslang/MachineIndependent/IntermTraverse.cpp",
|
||||
"src/glslang/MachineIndependent/Intermediate.cpp",
|
||||
"src/glslang/MachineIndependent/LiveTraverser.h",
|
||||
"src/glslang/MachineIndependent/ParseContextBase.cpp",
|
||||
"src/glslang/MachineIndependent/ParseHelper.cpp",
|
||||
"src/glslang/MachineIndependent/ParseHelper.h",
|
||||
"src/glslang/MachineIndependent/PoolAlloc.cpp",
|
||||
"src/glslang/MachineIndependent/RemoveTree.cpp",
|
||||
"src/glslang/MachineIndependent/RemoveTree.h",
|
||||
"src/glslang/MachineIndependent/Scan.cpp",
|
||||
"src/glslang/MachineIndependent/Scan.h",
|
||||
"src/glslang/MachineIndependent/ScanContext.h",
|
||||
"src/glslang/MachineIndependent/ShaderLang.cpp",
|
||||
"src/glslang/MachineIndependent/SymbolTable.cpp",
|
||||
"src/glslang/MachineIndependent/SymbolTable.h",
|
||||
"src/glslang/MachineIndependent/Versions.cpp",
|
||||
"src/glslang/MachineIndependent/Versions.h",
|
||||
"src/glslang/MachineIndependent/attribute.cpp",
|
||||
"src/glslang/MachineIndependent/gl_types.h",
|
||||
"src/glslang/MachineIndependent/glslang.y",
|
||||
"src/glslang/MachineIndependent/glslang_tab.cpp",
|
||||
"src/glslang/MachineIndependent/glslang_tab.cpp.h",
|
||||
"src/glslang/MachineIndependent/intermOut.cpp",
|
||||
"src/glslang/MachineIndependent/iomapper.cpp",
|
||||
"src/glslang/MachineIndependent/iomapper.h",
|
||||
"src/glslang/MachineIndependent/limits.cpp",
|
||||
"src/glslang/MachineIndependent/linkValidate.cpp",
|
||||
"src/glslang/MachineIndependent/localintermediate.h",
|
||||
"src/glslang/MachineIndependent/parseConst.cpp",
|
||||
"src/glslang/MachineIndependent/parseVersions.h",
|
||||
"src/glslang/MachineIndependent/preprocessor/Pp.cpp",
|
||||
"src/glslang/MachineIndependent/preprocessor/PpAtom.cpp",
|
||||
"src/glslang/MachineIndependent/preprocessor/PpContext.cpp",
|
||||
"src/glslang/MachineIndependent/preprocessor/PpContext.h",
|
||||
"src/glslang/MachineIndependent/preprocessor/PpScanner.cpp",
|
||||
"src/glslang/MachineIndependent/preprocessor/PpTokens.cpp",
|
||||
"src/glslang/MachineIndependent/preprocessor/PpTokens.h",
|
||||
"src/glslang/MachineIndependent/propagateNoContraction.cpp",
|
||||
"src/glslang/MachineIndependent/propagateNoContraction.h",
|
||||
"src/glslang/MachineIndependent/reflection.cpp",
|
||||
"src/glslang/MachineIndependent/reflection.h",
|
||||
"src/glslang/OSDependent/osinclude.h",
|
||||
"src/glslang/Public/ShaderLang.h",
|
||||
]
|
||||
public_configs = [ ":glslang_config" ]
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
configs += [ ":glslang_internal_config" ]
|
||||
|
||||
if (is_win) {
|
||||
cflags = [
|
||||
"/wd4065", # switch statement w/ default but no case
|
||||
"/wd4100", # Unreferenced formal parameter
|
||||
"/wd4456", # Declaration hides previous local declaration
|
||||
"/wd4457", # Declaration hides function parameter
|
||||
"/wd4458", # Declaration hides class member
|
||||
"/wd4702", # Unreachable code (from glslang_tab.cpp)
|
||||
"/wd4718", # Recursive call has no side effects (from PpContext.cpp)
|
||||
]
|
||||
|
||||
sources += [ "src/glslang/OSDependent/Windows/ossource.cpp" ]
|
||||
}
|
||||
if (is_linux || is_android) {
|
||||
sources += [ "src/glslang/OSDependent/Unix/ossource.cpp" ]
|
||||
}
|
||||
}
|
||||
|
||||
executable("glslang_validator") {
|
||||
sources = [
|
||||
"src/StandAlone/DirStackFileIncluder.h",
|
||||
"src/StandAlone/StandAlone.cpp",
|
||||
]
|
||||
if (!is_win) {
|
||||
cflags = [ "-Woverflow" ]
|
||||
}
|
||||
defines = [ "ENABLE_OPT=0" ]
|
||||
configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
public_deps = [
|
||||
":glslang",
|
||||
]
|
||||
}
|
|
@ -140,8 +140,7 @@ foreach(script_and_dep, helper_script_and_deps) {
|
|||
}
|
||||
}
|
||||
|
||||
raw_spirv_tools_dir =
|
||||
rebase_path("$angle_root/third_party/spirv-tools/src", root_build_dir)
|
||||
raw_spirv_tools_dir = rebase_path("${angle_spirv_tools_dir}", root_build_dir)
|
||||
|
||||
spirv_git_is_present = exec_script("$angle_root/src/commit_id.py",
|
||||
[
|
||||
|
@ -369,19 +368,13 @@ source_set("vulkan_layer_utils") {
|
|||
}
|
||||
|
||||
config("vulkan_core_validation_config") {
|
||||
include_dirs = [ "$angle_root/third_party/glslang/src" ]
|
||||
}
|
||||
|
||||
if (build_with_chromium) {
|
||||
spvtools_dir = "//third_party/SPIRV-Tools/src"
|
||||
} else {
|
||||
spvtools_dir = "${angle_root}/third_party/spirv-tools/src"
|
||||
include_dirs = [ "${angle_glslang_dir}" ]
|
||||
}
|
||||
|
||||
source_set("vulkan_core_validation_glslang") {
|
||||
public_deps = [
|
||||
"${spvtools_dir}:spvtools",
|
||||
"${spvtools_dir}:spvtools_val",
|
||||
"${angle_spirv_tools_dir}:spvtools",
|
||||
"${angle_spirv_tools_dir}:spvtools_val",
|
||||
]
|
||||
public_configs = [ ":vulkan_core_validation_config" ]
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче