blob: 9df5736910c223f5924b66fa01cedc3c9003193f [file] [log] [blame]
# Copyright 2015 The Chromium 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("//testing/test.gni")
declare_args() {
internal_khronos_glcts_tests = false
}
if (internal_khronos_glcts_tests) {
khronos_glcts_gypi =
exec_script("//build/gypi_to_gn.py",
[
rebase_path("khronos_glcts.gypi"),
"--replace=<(DEPTH)=../..",
"--replace=<(SHARED_INTERMEDIATE_DIR)=$target_gen_dir",
],
"scope",
[ "khronos_glcts.gypi" ])
# GYP version: gpu/khronos_glcts_support/khronos_glcts_test.gyp:khronos_glcts_test_windowless
copy("glcts_resources") {
sources = khronos_glcts_gypi.glcts_data_dirs
outputs = [
"$root_out_dir/khronos_glcts_data/gl_cts/{{source_file_part}}",
]
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_test.gyp:khronos_glcts_test_windowless
copy("glcts_gtf_resources") {
sources = khronos_glcts_gypi.glcts_gtf_data_dirs +
khronos_glcts_gypi.glcts_gtf_runfiles
outputs = [
"$root_out_dir/khronos_glcts_data/gl_cts/GTF/{{source_file_part}}",
]
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_test.gyp:khronos_glcts_test
action("generate_khronos_glcts_tests") {
script = "generate_khronos_glcts_tests.py"
sources = [ "khronos_glcts_test.h" ] + khronos_glcts_gypi.glcts_gtf_runfiles
outputs = [
"$target_gen_dir/khronos_glcts_test_autogen.cc",
]
args = [ "--outdir=" + rebase_path("$target_gen_dir") ] +
khronos_glcts_gypi.glcts_gtf_runfiles
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_defaults.gypi:target_defaults
config("defaults_config") {
defines = [
"DEQP_TARGET_NAME=\"chrome-gpu-command-buffer\"",
"DEQP_SUPPORT_GLES2=1",
"DEQP_SUPPORT_EGL=1",
"GTF_API=GTF_GLES20",
]
if (is_linux) {
defines += [ "_XOPEN_SOURCE=500" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:debase
config("debase_config") {
include_dirs = [ "//third_party/khronos_glcts/framework/delibs/debase" ]
}
source_set("debase") {
sources = khronos_glcts_gypi.debase_srcs
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":debase_config" ]
if (is_linux) {
cflags_c = [ "-Wno-implicit-function-declaration" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:depool
config("depool_config") {
include_dirs = [ "//third_party/khronos_glcts/framework/delibs/depool" ]
}
source_set("depool") {
sources = khronos_glcts_gypi.depool_srcs
deps = [
":debase",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":depool_config" ]
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:dethread
config("dethread_config") {
include_dirs = [ "//third_party/khronos_glcts/framework/delibs/dethread" ]
}
source_set("dethread") {
sources = khronos_glcts_gypi.dethread_srcs
deps = [
":debase",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":dethread_config" ]
if (is_linux) {
sources += khronos_glcts_gypi.dethread_unix_srcs
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:deutil
config("deutil_config") {
include_dirs = [ "//third_party/khronos_glcts/framework/delibs/deutil" ]
}
source_set("deutil") {
sources = khronos_glcts_gypi.deutil_srcs
deps = [
":debase",
":depool",
":dethread",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":deutil_config" ]
if (is_linux) {
cflags_c = [ "-Wno-string-conversion" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:decpp
config("decpp_config") {
include_dirs = [ "//third_party/khronos_glcts/framework/delibs/decpp" ]
}
source_set("decpp") {
sources = khronos_glcts_gypi.decpp_srcs
deps = [
":debase",
":depool",
":dethread",
":deutil",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":decpp_config" ]
if (is_linux) {
configs -= [ "//build/config/gcc:no_exceptions" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:delibs
group("delibs") {
public_deps = [
":debase",
":decpp",
":depool",
":dethread",
":deutil",
]
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:qphelper
config("qphelper_config") {
include_dirs = [ "//third_party/khronos_glcts/framework/qphelper" ]
}
source_set("qphelper") {
sources = khronos_glcts_gypi.qphelper_srcs
defines = [ "QP_SUPPORT_PNG" ]
deps = [
":delibs",
"//third_party/libpng:libpng",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":qphelper_config" ]
if (is_linux) {
cflags_c = [ "-Wno-string-conversion" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:tcutil
config("tcutil_config") {
include_dirs = [ "//third_party/khronos_glcts/framework/common" ]
}
source_set("tcutil") {
sources = khronos_glcts_gypi.tcutil_srcs
deps = [
":delibs",
"//third_party/libpng:libpng",
]
public_deps = [
":qphelper",
]
include_dirs = [ "//third_party/khronos_glcts/framework/delibs/libpng" ] #png.hpp
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":tcutil_config" ]
if (is_linux) {
configs -= [ "//build/config/gcc:no_exceptions" ]
cflags_cc = [ "-Wno-int-to-pointer-cast" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:glwrapper
config("glwrapper_config") {
include_dirs = [ "//third_party/khronos_glcts/framework/opengl/wrapper" ]
}
source_set("glwrapper") {
sources = khronos_glcts_gypi.glwrapper_srcs
deps = [
":delibs",
"//gpu/command_buffer/client:gles2_c_lib_nocheck",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":glwrapper_config" ]
if (is_linux) {
configs -= [ "//build/config/gcc:no_exceptions" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:glutil
config("glutil_config") {
include_dirs = [ "//third_party/khronos_glcts/framework/opengl" ]
}
source_set("glutil") {
sources = khronos_glcts_gypi.glutil_srcs
public_deps = [
":glwrapper",
]
deps = [
":delibs",
":tcutil",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":glutil_config" ]
if (is_linux) {
configs -= [ "//build/config/gcc:no_exceptions" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:tcutil_egl
config("tcutil_egl_config") {
include_dirs = [ "//third_party/khronos_glcts/framework/egl" ]
}
source_set("tcutil_egl") {
sources = khronos_glcts_gypi.tcutil_egl_srcs
deps = [
":delibs",
":glwrapper",
":tcutil",
"//gpu/gles2_conform_support/egl",
]
include_dirs = [ "//third_party/khronos_glcts/framework/opengl" ]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [
":tcutil_egl_config",
"//third_party/khronos:khronos_headers",
]
if (is_linux) {
configs -= [ "//build/config/gcc:no_exceptions" ]
cflags_cc = [ "-Wno-int-to-void-pointer-cast" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_framework.gyp:khronos_glcts_framework
group("khronos_glcts_framework") {
public_deps = [
":delibs",
":glutil",
":qphelper",
":tcutil",
":tcutil_egl",
]
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_cts.gyp:glcts_common
config("glcts_common_config") {
include_dirs = [ "//third_party/khronos_glcts/cts/common" ]
}
source_set("glcts_common") {
sources = khronos_glcts_gypi.glcts_common_sources
deps = [
":delibs",
":glutil",
":tcutil",
":tcutil_egl",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":glcts_common_config" ]
if (is_linux) {
configs -= [ "//build/config/gcc:no_exceptions" ]
cflags_cc = [ "-Wno-string-conversion" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_cts.gyp:glcts_gtf_wrapper
config("glcts_gtf_wrapper_config") {
include_dirs = [ "//third_party/khronos_glcts/cts/gtf" ]
}
source_set("glcts_gtf_wrapper") {
sources = khronos_glcts_gypi.glcts_gtf_wrapper_srcs
deps = [
":delibs",
":glcts_common",
":glutil",
":tcutil",
":tcutil_egl",
]
include_dirs = [ "//third_party/khronos_glcts/GTF_ES/glsl/GTF/Source" ]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":glcts_gtf_wrapper_config" ]
if (is_linux) {
configs -= [ "//build/config/gcc:no_exceptions" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_gtf.gyp:gtf_es
config("gtf_es_config") {
include_dirs = [ "//third_party/khronos_glcts/GTF_ES/glsl/GTF/Source" ]
}
source_set("gtf_es") {
sources =
khronos_glcts_gypi.gtf_core_srcs + khronos_glcts_gypi.gtf_gl_core_srcs +
khronos_glcts_gypi.gtf_gles2_srcs +
khronos_glcts_gypi.gtf_gles2_es_only_srcs
deps = [
":debase",
":glcts_gtf_wrapper",
"//third_party/expat",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":gtf_es_config" ]
if (is_linux) {
cflags_c = [
"-Wno-pointer-sign",
"-Wno-incompatible-pointer-types",
"-Wno-return-type",
"-Wno-parentheses-equality",
"-Wno-tautological-compare",
]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_cts.gyp:glcts_gtf
config("glcts_gtf_config") {
include_dirs = [ "//third_party/khronos_glcts/cts/gtf" ]
}
source_set("glcts_gtf") {
sources = khronos_glcts_gypi.glcts_gtf_srcs
deps = [
":delibs",
":glcts_common",
":glcts_gtf_wrapper",
":glutil",
":gtf_es",
":tcutil",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":glcts_gtf_config" ]
if (is_linux) {
configs -= [ "//build/config/gcc:no_exceptions" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_cts.gyp:glcts_es2
config("glcts_es2_config") {
include_dirs = [ "//third_party/khronos_glcts/cts/gles2" ]
}
source_set("glcts_es2") {
sources = khronos_glcts_gypi.glcts_es2_srcs
public_deps = [
":glcts_common",
]
deps = [
":delibs",
":glcts_gtf",
":glutil",
":tcutil",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
public_configs = [ ":glcts_es2_config" ]
if (is_linux) {
configs -= [ "//build/config/gcc:no_exceptions" ]
}
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_test.gyp:tcutil_platform_windowless
source_set("tcutil_platform_windowless") {
sources = [
"native/egl_native_windowless.cc",
]
deps = [
":khronos_glcts_framework",
]
configs -= [ "//build/config/compiler:no_rtti" ]
configs += [ "//build/config/compiler:rtti" ]
}
# GYP version: gpu/khronos_glcts_support/khronos_glcts_test.gyp:khronos_glcts_test_windowless
executable("khronos_glcts_test_windowless") {
sources = [
"//third_party/khronos_glcts/cts/glcTestPackageEntry.cpp",
"//third_party/khronos_glcts/cts/glcTestPackageRegistry.cpp",
"//third_party/khronos_glcts/cts/glcTestPackageRegistry.hpp",
"native/main.cc",
]
deps = [
":glcts_es2",
":glcts_gtf_resources",
":glcts_resources",
":khronos_glcts_framework",
":tcutil_platform_windowless",
]
configs += [ ":defaults_config" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
if (is_linux) {
configs -= [ "//build/config/gcc:no_exceptions" ]
}
}
}
if (!is_android) {
# GYP version: gpu/khronos_glcts_support/khronos_glcts_test.gyp:khronos_glcts_test
test("khronos_glcts_test") {
sources = [
"khronos_glcts_test.cc",
]
deps = [
"//base",
"//gpu",
"//testing/gtest",
]
data = [
"khronos_glcts_test_expectations.txt",
]
if (internal_khronos_glcts_tests) {
sources += [ "$target_gen_dir/khronos_glcts_test_autogen.cc" ]
deps += [
":generate_khronos_glcts_tests",
":khronos_glcts_test_windowless",
]
}
}
}