blob: 2b3a83f6cdb7efd5d2e24e654babeb384f25be3e [file] [log] [blame]
# Copyright 2016 Google, LLC
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
import("//third_party/mako/py_srcs.gni")
import("../../../mesa.gni")
config("spirv_public_config") {
include_dirs = [ "." ]
}
mesa_source_set("spirv") {
public_configs = [ ":spirv_public_config" ]
deps = [
":spirv_info",
":vtn_gather_types",
"$mesa_build_root/include:c_compat",
"$mesa_build_root/src/compiler/nir",
"$mesa_build_root/src/util",
]
include_dirs = [ ".." ]
sources = [
"$target_gen_dir/spirv_info.c",
"$target_gen_dir/vtn_gather_types.c",
"spirv_to_nir.c",
"vtn_alu.c",
"vtn_amd.c",
"vtn_cfg.c",
"vtn_glsl450.c",
"vtn_opencl.c",
"vtn_private.h",
"vtn_subgroup.c",
"vtn_variables.c",
]
}
mesa_python_action("spirv_info") {
output_name = "spirv_info.c"
script = "spirv_info_c.py"
outputs = [ "$target_gen_dir/$output_name" ]
inputs = [ "spirv.core.grammar.json" ] + third_party_mako_srcs
args = [
rebase_path(".") + "/spirv.core.grammar.json",
rebase_path(target_gen_dir) + "/$output_name",
]
}
mesa_python_action("vtn_gather_types") {
output_name = "vtn_gather_types.c"
script = "vtn_gather_types_c.py"
outputs = [ "$target_gen_dir/$output_name" ]
inputs = [ "spirv.core.grammar.json" ]
args = [
rebase_path(".") + "/spirv.core.grammar.json",
rebase_path(target_gen_dir) + "/$output_name",
]
}