Commit 0cb3b0f1 by Jamie Madill Committed by Commit Bot

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/1422545Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarTobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 8922ac23
# 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 # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
...@@ -446,19 +446,16 @@ config("libANGLE_config") { ...@@ -446,19 +446,16 @@ config("libANGLE_config") {
if (angle_enable_vulkan) { if (angle_enable_vulkan) {
# Use this target to include everything ANGLE needs for Vulkan. # Use this target to include everything ANGLE needs for Vulkan.
group("angle_vulkan") { group("angle_vulkan") {
deps = [
"$angle_root/third_party/glslang:glslang",
]
public_deps = [ public_deps = [
"$angle_root/third_party/vulkan-headers:vulkan_headers", "$angle_root/third_party/vulkan-headers:vulkan_headers",
] ]
public_configs = [ public_configs =
"$angle_root/third_party/glslang:glslang_config", [ "$angle_root/third_party/vulkan-validation-layers:vulkan_config" ]
"$angle_root/third_party/vulkan-validation-layers:vulkan_config",
]
data_deps = [] data_deps = []
if (!is_android) { 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" ] data_deps += [ "$angle_root/third_party/vulkan-tools:VkICD_mock_icd" ]
public_configs += public_configs +=
[ "$angle_root/third_party/vulkan-loader:vulkan_loader_config" ] [ "$angle_root/third_party/vulkan-loader:vulkan_loader_config" ]
...@@ -574,7 +571,12 @@ angle_static_library("libANGLE") { ...@@ -574,7 +571,12 @@ angle_static_library("libANGLE") {
sources += libangle_vulkan_android_sources sources += libangle_vulkan_android_sources
libs += [ "vulkan" ] 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" ] public_deps += [ "$angle_root/third_party/vulkan-headers:vulkan_headers" ]
# Include generated shaders. # Include generated shaders.
...@@ -943,7 +945,7 @@ angle_shared_library("libfeature_support${angle_libs_suffix}") { ...@@ -943,7 +945,7 @@ angle_shared_library("libfeature_support${angle_libs_suffix}") {
public_configs += [ public_configs += [
":angle_feature_support_config", ":angle_feature_support_config",
"third_party/jsoncpp:jsoncpp_config", "${angle_jsoncpp_dir}:jsoncpp_config",
] ]
sources = [ sources = [
...@@ -953,7 +955,7 @@ angle_shared_library("libfeature_support${angle_libs_suffix}") { ...@@ -953,7 +955,7 @@ angle_shared_library("libfeature_support${angle_libs_suffix}") {
deps = [ deps = [
":angle_gpu_info_util", ":angle_gpu_info_util",
"third_party/jsoncpp:jsoncpp", "${angle_jsoncpp_dir}:jsoncpp",
] ]
} }
......
...@@ -12,13 +12,13 @@ vars = { ...@@ -12,13 +12,13 @@ vars = {
'deqp_revision': 'f5637d67a00a1081a13008bb8dc93b2616c935e2', 'deqp_revision': 'f5637d67a00a1081a13008bb8dc93b2616c935e2',
# Current revision of glslang, the Khronos SPIRV compiler. # Current revision of glslang, the Khronos SPIRV compiler.
'glslang_revision': 'f9edfdab0e872c674e0a80e083239aa9637871ba', 'glslang_revision': '8dff52509e5c73818d70ea5386886b6cb908962f',
# Current revision fo the SPIRV-Headers Vulkan support library. # Current revision fo the SPIRV-Headers Vulkan support library.
'spirv_headers_revision': 'd5b2e1255f706ce1f88812217e9a554f299848af', 'spirv_headers_revision': '79b6681aadcb53c27d1052e5f8a0e82a981dbf2f',
# Current revision of SPIRV-Tools for Vulkan. # Current revision of SPIRV-Tools for Vulkan.
'spirv_tools_revision': 'd73b9d8dfbf7761e3fde323af00ec18ebfc0020c', 'spirv_tools_revision': 'd14db341b834cfb3c574a258c331b3a6b1c2cbc5',
# Current revision of Khronos Vulkan-Headers. # Current revision of Khronos Vulkan-Headers.
'vulkan_headers_revision': 'b65941cc4b2b43b74de00534d110b581c52c394b', 'vulkan_headers_revision': 'b65941cc4b2b43b74de00534d110b581c52c394b',
...@@ -62,7 +62,8 @@ deps = { ...@@ -62,7 +62,8 @@ deps = {
'{angle_root}/third_party/glslang/src': { '{angle_root}/third_party/glslang/src': {
'url': '{chromium_git}/external/github.com/KhronosGroup/glslang@{glslang_revision}', 'url': '{chromium_git}/external/github.com/KhronosGroup/glslang@{glslang_revision}',
}, 'condition': 'not build_with_chromium',
},
'{angle_root}/third_party/googletest/src': { '{angle_root}/third_party/googletest/src': {
'url': '{chromium_git}/external/github.com/google/googletest.git@d5932506d6eed73ac80b9bcc47ed723c8c74eb1e', 'url': '{chromium_git}/external/github.com/google/googletest.git@d5932506d6eed73ac80b9bcc47ed723c8c74eb1e',
...@@ -76,19 +77,21 @@ deps = { ...@@ -76,19 +77,21 @@ deps = {
'{angle_root}/third_party/jsoncpp': { '{angle_root}/third_party/jsoncpp': {
'url': '{chromium_git}/chromium/src/third_party/jsoncpp@fd0ac8ce63a47e99b71a58f1489136fbb19c9137', 'url': '{chromium_git}/chromium/src/third_party/jsoncpp@fd0ac8ce63a47e99b71a58f1489136fbb19c9137',
}, 'condition': 'not build_with_chromium',
},
'{angle_root}/third_party/jsoncpp/source': { '{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': { '{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', 'condition': 'not build_with_chromium',
}, },
'{angle_root}/third_party/spirv-tools/src': { '{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', 'condition': 'not build_with_chromium',
}, },
......
# 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"
# 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"
# 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 # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
......
# 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 # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build_overrides/angle.gni")
import("//build/config/sanitizers/sanitizers.gni") import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/ui.gni") # import the use_x11 variable import("//build/config/ui.gni") # import the use_x11 variable
import("//build_overrides/build.gni") import("//build_overrides/build.gni")
......
...@@ -9,8 +9,7 @@ ...@@ -9,8 +9,7 @@
#include "libANGLE/renderer/vulkan/GlslangWrapper.h" #include "libANGLE/renderer/vulkan/GlslangWrapper.h"
// glslang's version of ShaderLang.h, not to be confused with ANGLE's. // 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 <glslang/Public/ShaderLang.h>
#include <ShaderLang.h>
// Other glslang includes. // Other glslang includes.
#include <SPIRV/GlslangToSpv.h> #include <SPIRV/GlslangToSpv.h>
......
# 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 # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
...@@ -28,23 +28,23 @@ if (build_with_chromium) { ...@@ -28,23 +28,23 @@ if (build_with_chromium) {
config("angle_internal_gtest_config") { config("angle_internal_gtest_config") {
include_dirs = [ include_dirs = [
"//third_party/googletest/src/googletest", "${angle_googletest_dir}/googletest",
"//third_party/googletest/src/googletest/include", "${angle_googletest_dir}/googletest/include",
] ]
} }
angle_static_library("angle_internal_gtest") { angle_static_library("angle_internal_gtest") {
sources = [ sources = [
"//third_party/googletest/src/googletest/src/gtest-all.cc", "${angle_googletest_dir}/googletest/src/gtest-all.cc",
] ]
public_configs += [ ":angle_internal_gtest_config" ] public_configs += [ ":angle_internal_gtest_config" ]
} }
config("angle_internal_gmock_config") { config("angle_internal_gmock_config") {
include_dirs = [ include_dirs = [
"//third_party/googletest/src/googlemock", "${angle_googletest_dir}/googlemock",
"//third_party/googletest/src/googlemock/include", "${angle_googletest_dir}/googlemock/include",
"//third_party/googletest/src/googletest/include", "${angle_googletest_dir}/googletest/include",
] ]
if (is_clang) { if (is_clang) {
# TODO: Can remove this if/when the issue is fixed. # TODO: Can remove this if/when the issue is fixed.
...@@ -55,7 +55,7 @@ if (build_with_chromium) { ...@@ -55,7 +55,7 @@ if (build_with_chromium) {
angle_static_library("angle_internal_gmock") { angle_static_library("angle_internal_gmock") {
sources = [ sources = [
"//third_party/googletest/src/googlemock/src/gmock-all.cc", "${angle_googletest_dir}/googlemock/src/gmock-all.cc",
] ]
public_configs += [ ":angle_internal_gmock_config" ] public_configs += [ ":angle_internal_gmock_config" ]
} }
...@@ -93,9 +93,9 @@ template("angle_tests_main") { ...@@ -93,9 +93,9 @@ template("angle_tests_main") {
testonly = true testonly = true
public_deps = googletest_deps public_deps = googletest_deps
deps = [ deps = [
angle_root + ":includes", "${angle_root}:includes",
] ]
configs += [ angle_root + ":internal_config" ] configs += [ "${angle_root}:internal_config" ]
main = invoker.main main = invoker.main
...@@ -134,10 +134,10 @@ angle_test("angle_unittests") { ...@@ -134,10 +134,10 @@ angle_test("angle_unittests") {
} }
deps = googletest_deps + [ deps = googletest_deps + [
angle_root + ":libANGLE", "${angle_root}:libANGLE",
angle_root + ":preprocessor", "${angle_root}:preprocessor",
angle_root + ":translator", "${angle_root}:translator",
angle_root + ":libfeature_support${angle_libs_suffix}", "${angle_root}:libfeature_support${angle_libs_suffix}",
":angle_unittests_main", ":angle_unittests_main",
] ]
} }
...@@ -166,21 +166,21 @@ if (is_win || is_linux || is_mac || is_android) { ...@@ -166,21 +166,21 @@ if (is_win || is_linux || is_mac || is_android) {
} }
configs += [ configs += [
angle_root + ":libANGLE_config", "${angle_root}:libANGLE_config",
angle_root + ":library_name_config", "${angle_root}:library_name_config",
] ]
deps = [ deps = [
angle_root + ":angle_image_util",
angle_root + ":angle_util",
angle_root + ":angle_util_loader_headers",
":angle_end2end_tests_main", ":angle_end2end_tests_main",
"${angle_root}:angle_image_util",
"${angle_root}:angle_util",
"${angle_root}:angle_util_loader_headers",
] ]
data_deps = [ data_deps = [
angle_root + ":libEGL${angle_libs_suffix}", "${angle_root}:libEGL${angle_libs_suffix}",
angle_root + ":libGLESv1_CM${angle_libs_suffix}", "${angle_root}:libGLESv1_CM${angle_libs_suffix}",
angle_root + ":libGLESv2${angle_libs_suffix}", "${angle_root}:libGLESv2${angle_libs_suffix}",
] ]
if (is_android) { if (is_android) {
...@@ -204,18 +204,18 @@ if (is_win || is_linux || is_mac || is_android) { ...@@ -204,18 +204,18 @@ if (is_win || is_linux || is_mac || is_android) {
} }
configs += [ configs += [
angle_root + ":libANGLE_config", "${angle_root}:libANGLE_config",
angle_root + ":library_name_config", "${angle_root}:library_name_config",
] ]
deps = [ 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_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) { if (is_android) {
...@@ -233,12 +233,12 @@ if (is_win || is_linux || is_android || is_mac) { ...@@ -233,12 +233,12 @@ if (is_win || is_linux || is_android || is_mac) {
sources = angle_white_box_perf_tests_sources sources = angle_white_box_perf_tests_sources
deps = [ 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_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) { if (is_win) {
...@@ -247,13 +247,12 @@ if (is_win || is_linux || is_android || is_mac) { ...@@ -247,13 +247,12 @@ if (is_win || is_linux || is_android || is_mac) {
if (angle_enable_vulkan) { if (angle_enable_vulkan) {
sources += angle_white_box_perf_tests_vulkan_sources sources += angle_white_box_perf_tests_vulkan_sources
deps += [ "$angle_root/third_party/glslang:glslang" ] deps += [ "${angle_glslang_dir}:glslang_sources" ]
public_configs += [ "$angle_root/third_party/glslang:glslang_config" ]
} }
configs += [ configs += [
angle_root + ":libANGLE_config", "${angle_root}:libANGLE_config",
angle_root + ":library_name_config", "${angle_root}:library_name_config",
] ]
if (is_android) { if (is_android) {
...@@ -267,22 +266,22 @@ if (is_win || is_linux || is_android || is_mac) { ...@@ -267,22 +266,22 @@ if (is_win || is_linux || is_android || is_mac) {
sources = angle_perf_tests_sources sources = angle_perf_tests_sources
deps = [ 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_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 = [ data_deps = [
angle_root + ":libEGL${angle_libs_suffix}", "${angle_root}:libEGL${angle_libs_suffix}",
angle_root + ":libGLESv2${angle_libs_suffix}", "${angle_root}:libGLESv2${angle_libs_suffix}",
] ]
configs += [ configs += [
angle_root + ":libANGLE_config", "${angle_root}:libANGLE_config",
angle_root + ":library_name_config", "${angle_root}:library_name_config",
] ]
if (is_android) { if (is_android) {
...@@ -336,25 +335,25 @@ if (build_angle_gles1_conform_tests) { ...@@ -336,25 +335,25 @@ if (build_angle_gles1_conform_tests) {
source_set("angle_gles1_conformance_no_gtest") { source_set("angle_gles1_conformance_no_gtest") {
configs += [ configs += [
":angle_gles1_conform_support", ":angle_gles1_conform_support",
angle_root + ":internal_config", "${angle_root}:internal_config",
] ]
public_configs = [ public_configs = [
angle_root + ":angle_util_config", "${angle_root}:angle_util_config",
angle_root + ":gl_prototypes", "${angle_root}:gl_prototypes",
angle_root + ":angle_static", "${angle_root}:angle_static",
] ]
testonly = true testonly = true
deps = [ deps = [
angle_root + ":angle_common", "${angle_root}:angle_common",
angle_root + ":angle_util_static", "${angle_root}:angle_util_static",
angle_root + ":libEGL_static", "${angle_root}:libEGL_static",
angle_root + ":libGLESv1_CM_static", "${angle_root}:libGLESv1_CM_static",
angle_root + ":libGLESv2_static", "${angle_root}:libGLESv2_static",
angle_root + ":preprocessor", "${angle_root}:preprocessor",
angle_root + ":translator", "${angle_root}:translator",
] ]
sources = [ sources = [
...@@ -503,8 +502,8 @@ if (build_angle_gles1_conform_tests) { ...@@ -503,8 +502,8 @@ if (build_angle_gles1_conform_tests) {
] ]
configs += [ configs += [
angle_root + ":libANGLE_config", "${angle_root}:libANGLE_config",
angle_root + ":library_name_config", "${angle_root}:library_name_config",
] ]
if (is_android) { if (is_android) {
...@@ -591,7 +590,7 @@ if (build_angle_deqp_tests) { ...@@ -591,7 +590,7 @@ if (build_angle_deqp_tests) {
"//build/config/compiler:chromium_code", "//build/config/compiler:chromium_code",
"//build/config/compiler:no_exceptions", "//build/config/compiler:no_exceptions",
"//build/config/compiler:no_rtti", "//build/config/compiler:no_rtti",
angle_root + ":extra_warnings", "${angle_root}:extra_warnings",
] ]
if (is_win) { if (is_win) {
...@@ -639,15 +638,15 @@ if (build_angle_deqp_tests) { ...@@ -639,15 +638,15 @@ if (build_angle_deqp_tests) {
angle_static_library("angle_deqp_libtester") { angle_static_library("angle_deqp_libtester") {
public_deps = [ public_deps = [
":angle_deqp_decpp", ":angle_deqp_decpp",
angle_root + ":angle_common", "${angle_libpng_dir}:libpng",
angle_root + ":angle_util", "${angle_root}:angle_common",
angle_root + ":libEGL${angle_libs_suffix}", "${angle_root}:angle_util",
angle_root + ":libGLESv2${angle_libs_suffix}", "${angle_root}:libEGL${angle_libs_suffix}",
"//third_party/libpng:libpng", "${angle_root}:libGLESv2${angle_libs_suffix}",
] ]
suppressed_configs += deqp_undefine_configs suppressed_configs += deqp_undefine_configs
configs += [ angle_root + ":library_name_config" ] configs += [ "${angle_root}:library_name_config" ]
public_configs += [ ":angle_deqp_libtester_config" ] public_configs += [ ":angle_deqp_libtester_config" ]
sources = deqp_libtester_sources sources = deqp_libtester_sources
if (is_win) { if (is_win) {
...@@ -670,9 +669,9 @@ if (build_angle_deqp_tests) { ...@@ -670,9 +669,9 @@ if (build_angle_deqp_tests) {
testonly = true testonly = true
public_deps = [ public_deps = [
angle_root + ":angle_common",
angle_root + ":angle_util",
":angle_deqp_tests_main", ":angle_deqp_tests_main",
"${angle_root}:angle_common",
"${angle_root}:angle_util",
] ]
public_configs += [ ":angle_deqp_gtest_support_config" ] public_configs += [ ":angle_deqp_gtest_support_config" ]
...@@ -684,7 +683,7 @@ if (build_angle_deqp_tests) { ...@@ -684,7 +683,7 @@ if (build_angle_deqp_tests) {
} }
if (!is_android) { 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) { ...@@ -724,7 +723,7 @@ if (build_angle_deqp_tests) {
angle_shared_library(shared_library_name) { angle_shared_library(shared_library_name) {
deps = [ deps = [
":angle_deqp_libtester", ":angle_deqp_libtester",
angle_root + ":angle_util", "${angle_root}:angle_util",
] ]
suppressed_configs += deqp_undefine_configs suppressed_configs += deqp_undefine_configs
......
# 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) { ...@@ -140,8 +140,7 @@ foreach(script_and_dep, helper_script_and_deps) {
} }
} }
raw_spirv_tools_dir = raw_spirv_tools_dir = rebase_path("${angle_spirv_tools_dir}", root_build_dir)
rebase_path("$angle_root/third_party/spirv-tools/src", root_build_dir)
spirv_git_is_present = exec_script("$angle_root/src/commit_id.py", spirv_git_is_present = exec_script("$angle_root/src/commit_id.py",
[ [
...@@ -369,19 +368,13 @@ source_set("vulkan_layer_utils") { ...@@ -369,19 +368,13 @@ source_set("vulkan_layer_utils") {
} }
config("vulkan_core_validation_config") { config("vulkan_core_validation_config") {
include_dirs = [ "$angle_root/third_party/glslang/src" ] include_dirs = [ "${angle_glslang_dir}" ]
}
if (build_with_chromium) {
spvtools_dir = "//third_party/SPIRV-Tools/src"
} else {
spvtools_dir = "${angle_root}/third_party/spirv-tools/src"
} }
source_set("vulkan_core_validation_glslang") { source_set("vulkan_core_validation_glslang") {
public_deps = [ public_deps = [
"${spvtools_dir}:spvtools", "${angle_spirv_tools_dir}:spvtools",
"${spvtools_dir}:spvtools_val", "${angle_spirv_tools_dir}:spvtools_val",
] ]
public_configs = [ ":vulkan_core_validation_config" ] public_configs = [ ":vulkan_core_validation_config" ]
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment