Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/compiler/meson.build
4545 views
1
# Copyright © 2017 Intel Corporation
2
3
# Permission is hereby granted, free of charge, to any person obtaining a copy
4
# of this software and associated documentation files (the "Software"), to deal
5
# in the Software without restriction, including without limitation the rights
6
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
# copies of the Software, and to permit persons to whom the Software is
8
# furnished to do so, subject to the following conditions:
9
10
# The above copyright notice and this permission notice shall be included in
11
# all copies or substantial portions of the Software.
12
13
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
# SOFTWARE.
20
21
inc_compiler = include_directories('.')
22
inc_glsl = include_directories('glsl')
23
inc_spirv = include_directories('spirv')
24
25
files_libcompiler = files(
26
'builtin_type_macros.h',
27
'glsl_types.cpp',
28
'glsl_types.h',
29
'nir_types.cpp',
30
'nir_types.h',
31
'shader_enums.c',
32
'shader_enums.h',
33
'shader_info.h',
34
)
35
36
ir_expression_operation_h = custom_target(
37
'ir_expression_operation.h',
38
input : 'glsl/ir_expression_operation.py',
39
output : 'ir_expression_operation.h',
40
command : [prog_python, '@INPUT@', 'enum'],
41
capture : true,
42
)
43
44
libcompiler = static_library(
45
'compiler',
46
[files_libcompiler, ir_expression_operation_h],
47
include_directories : [inc_mapi, inc_mesa, inc_compiler, inc_include, inc_src, inc_gallium, inc_gallium_aux],
48
c_args : [c_msvc_compat_args, no_override_init_args],
49
cpp_args : [cpp_msvc_compat_args],
50
gnu_symbol_visibility : 'hidden',
51
dependencies : [dep_valgrind],
52
build_by_default : false,
53
)
54
55
subdir('spirv')
56
57
subdir('nir')
58
59
# These are here because putting it in spirv/meson.build would create a circular
60
# dependency with nir/meson.build.
61
spirv2nir = executable(
62
'spirv2nir',
63
files('spirv/spirv2nir.c'),
64
dependencies : [dep_m, idep_nir, idep_mesautil],
65
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, include_directories('spirv')],
66
c_args : [c_msvc_compat_args, no_override_init_args],
67
gnu_symbol_visibility : 'hidden',
68
build_by_default : with_tools.contains('nir'),
69
install : with_tools.contains('nir'),
70
)
71
72
if with_tests
73
test(
74
'avail_vis',
75
executable(
76
'avail_vis',
77
files('spirv/tests/avail_vis.cpp'),
78
c_args : [c_msvc_compat_args, no_override_init_args],
79
gnu_symbol_visibility : 'hidden',
80
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
81
dependencies : [dep_thread, idep_gtest, idep_nir, idep_mesautil],
82
),
83
suite : ['compiler', 'spirv'],
84
)
85
86
test(
87
'volatile',
88
executable(
89
'volatile',
90
files('spirv/tests/volatile.cpp'),
91
c_args : [c_msvc_compat_args, no_override_init_args],
92
gnu_symbol_visibility : 'hidden',
93
include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux],
94
dependencies : [dep_thread, idep_gtest, idep_nir, idep_mesautil],
95
),
96
suite : ['compiler', 'spirv'],
97
)
98
endif
99
100
subdir('glsl')
101
102