Use spvc's rules for spirv-cross
Switch over to using the rule for building spirv-cross from spvc. This
allows GN to avoid double symbol issues in future patches.
Roll third_party/shaderc/ 1d6155d86..30f0559dd (2 commits)
1d6155d867..30f0559dd2
$ git log 1d6155d86..30f0559dd --date=short --no-merges --format='%ad %ae %s'
2019-11-27 rharrison Remove spvc's dependency on shaderc's util library (#914)
2019-11-27 rharrison Clean up how include dirs are propegated for spirv_cross (#912)
Created with:
roll-dep third_party/shaderc
BUG=dawn:281
Change-Id: I49cf237dcab884e84180f83cbbb21acfa549fe61
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/14121
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
This commit is contained in:
parent
0ee91fc0a1
commit
22e73a5b28
2
BUILD.gn
2
BUILD.gn
|
@ -134,8 +134,8 @@ source_set("libdawn_native_sources") {
|
|||
":libdawn_native_headers",
|
||||
":libdawn_native_utils_gen",
|
||||
"${dawn_root}/src/common",
|
||||
"${dawn_shaderc_dir}:spirv_cross",
|
||||
"${dawn_spirv_tools_dir}:spvtools_val",
|
||||
"third_party:spirv_cross",
|
||||
]
|
||||
defines = []
|
||||
libs = []
|
||||
|
|
2
DEPS
2
DEPS
|
@ -69,7 +69,7 @@ deps = {
|
|||
'condition': 'dawn_standalone',
|
||||
},
|
||||
'third_party/shaderc': {
|
||||
'url': '{chromium_git}/external/github.com/google/shaderc@1d6155d8679a7775f7323cbb356cfd9e63400256',
|
||||
'url': '{chromium_git}/external/github.com/google/shaderc@30f0559dd2782b3c65ad3840da2bf8e81711e9b7',
|
||||
'condition': 'dawn_standalone',
|
||||
},
|
||||
|
||||
|
|
|
@ -22,84 +22,6 @@ is_msvc = is_win && !is_clang
|
|||
# Third-party dependencies needed by libdawn_native
|
||||
###############################################################################
|
||||
|
||||
# SPIRV-Cross
|
||||
spirv_cross_dir = dawn_spirv_cross_dir
|
||||
|
||||
config("spirv_cross_public") {
|
||||
include_dirs = [
|
||||
"${spirv_cross_dir}",
|
||||
"${spirv_cross_dir}/..",
|
||||
]
|
||||
defines = [ "SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS" ]
|
||||
}
|
||||
|
||||
config("spirv_cross_internal") {
|
||||
if (!is_msvc) {
|
||||
cflags_cc = [
|
||||
"-Wno-implicit-fallthrough",
|
||||
"-Wno-return-type",
|
||||
"-Wno-sign-compare",
|
||||
]
|
||||
} else {
|
||||
# Disable "not all control paths return a value" warning.
|
||||
cflags_cc = [ "/wd4715" ]
|
||||
}
|
||||
}
|
||||
|
||||
static_library("spirv_cross") {
|
||||
public_configs = [ ":spirv_cross_public" ]
|
||||
configs += [ ":spirv_cross_internal" ]
|
||||
|
||||
sources = [
|
||||
"${spirv_cross_dir}/GLSL.std.450.h",
|
||||
"${spirv_cross_dir}/spirv.hpp",
|
||||
"${spirv_cross_dir}/spirv_cfg.cpp",
|
||||
"${spirv_cross_dir}/spirv_cfg.hpp",
|
||||
"${spirv_cross_dir}/spirv_common.hpp",
|
||||
"${spirv_cross_dir}/spirv_cross.cpp",
|
||||
"${spirv_cross_dir}/spirv_cross.hpp",
|
||||
"${spirv_cross_dir}/spirv_cross_containers.hpp",
|
||||
"${spirv_cross_dir}/spirv_cross_error_handling.hpp",
|
||||
"${spirv_cross_dir}/spirv_cross_parsed_ir.cpp",
|
||||
"${spirv_cross_dir}/spirv_cross_parsed_ir.hpp",
|
||||
"${spirv_cross_dir}/spirv_parser.cpp",
|
||||
"${spirv_cross_dir}/spirv_parser.hpp",
|
||||
]
|
||||
|
||||
need_glsl_cross = dawn_enable_opengl || dawn_enable_cross_reflection
|
||||
need_reflection_cross = dawn_enable_cross_reflection
|
||||
|
||||
if (dawn_enable_d3d12) {
|
||||
sources += [
|
||||
"${spirv_cross_dir}/spirv_hlsl.cpp",
|
||||
"${spirv_cross_dir}/spirv_hlsl.hpp",
|
||||
]
|
||||
need_glsl_cross = true
|
||||
}
|
||||
|
||||
if (dawn_enable_metal) {
|
||||
sources += [
|
||||
"${spirv_cross_dir}/spirv_msl.cpp",
|
||||
"${spirv_cross_dir}/spirv_msl.hpp",
|
||||
]
|
||||
need_glsl_cross = true
|
||||
}
|
||||
|
||||
if (need_glsl_cross) {
|
||||
sources += [
|
||||
"${spirv_cross_dir}/spirv_glsl.cpp",
|
||||
"${spirv_cross_dir}/spirv_glsl.hpp",
|
||||
]
|
||||
}
|
||||
|
||||
if (need_reflection_cross) {
|
||||
sources += [
|
||||
"${spirv_cross_dir}/spirv_reflect.cpp",
|
||||
"${spirv_cross_dir}/spirv_reflect.hpp",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
# Empty targets to add the include dirs and list the sources of Khronos headers for header inclusion check.
|
||||
config("khronos_headers_public") {
|
||||
include_dirs = [ "khronos" ]
|
||||
|
|
Loading…
Reference in New Issue