• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1filegroup {
2    name: "deqp_spirv.debuginfo.grammar.json",
3    srcs: ["source/extinst.debuginfo.grammar.json"],
4}
5
6genrule {
7    name: "deqp_gen_spvtools_grammar_tables_1.0",
8    out: [
9        "core.insts-1.0.inc",
10        "operand.kinds-1.0.inc",
11        "glsl.std.450.insts.inc",
12        "opencl.std.insts.inc",
13    ],
14    srcs: [
15        ":deqp_spirv.core.grammar.json-1.0",
16        ":deqp_spirv.glsl.grammar.json",
17        ":deqp_spirv.opencl.grammar.json",
18        ":deqp_spirv.debuginfo.grammar.json",
19    ],
20    tool_files: ["utils/generate_grammar_tables.py"],
21    cmd: "$(location) --spirv-core-grammar=$(location :deqp_spirv.core.grammar.json-1.0) "+
22         "--extinst-glsl-grammar=$(location :deqp_spirv.glsl.grammar.json) "+
23         "--extinst-opencl-grammar=$(location :deqp_spirv.opencl.grammar.json) "+
24         "--extinst-debuginfo-grammar=$(location :deqp_spirv.debuginfo.grammar.json) "+
25         "--core-insts-output=$(location core.insts-1.0.inc) "+
26         "--glsl-insts-output=$(location glsl.std.450.insts.inc) "+
27         "--opencl-insts-output=$(location opencl.std.insts.inc) "+
28         "--operand-kinds-output=$(location operand.kinds-1.0.inc)",
29}
30
31genrule {
32    name: "deqp_gen_spvtools_grammar_tables_1.1",
33    out: [
34        "core.insts-1.1.inc",
35        "operand.kinds-1.1.inc",
36    ],
37    srcs: [
38        ":deqp_spirv.core.grammar.json-1.1",
39        ":deqp_spirv.debuginfo.grammar.json",
40    ],
41    tool_files: ["utils/generate_grammar_tables.py"],
42    cmd: "$(location) --spirv-core-grammar=$(location :deqp_spirv.core.grammar.json-1.1) "+
43         "--extinst-debuginfo-grammar=$(location :deqp_spirv.debuginfo.grammar.json) "+
44         "--core-insts-output=$(location core.insts-1.1.inc) "+
45         "--operand-kinds-output=$(location operand.kinds-1.1.inc)",
46}
47
48genrule {
49    name: "deqp_gen_spvtools_grammar_tables_1.2",
50    out: [
51        "core.insts-1.2.inc",
52        "operand.kinds-1.2.inc",
53    ],
54    srcs: [
55        ":deqp_spirv.core.grammar.json-1.2",
56        ":deqp_spirv.debuginfo.grammar.json",
57    ],
58    tool_files: ["utils/generate_grammar_tables.py"],
59    cmd: "$(location) --spirv-core-grammar=$(location :deqp_spirv.core.grammar.json-1.2) "+
60         "--extinst-debuginfo-grammar=$(location :deqp_spirv.debuginfo.grammar.json) "+
61         "--core-insts-output=$(location core.insts-1.2.inc) "+
62         "--operand-kinds-output=$(location operand.kinds-1.2.inc)",
63}
64
65genrule {
66    name: "deqp_gen_spvtools_grammar_tables_unified1",
67    out: [
68        "core.insts-unified1.inc",
69        "operand.kinds-unified1.inc",
70    ],
71    srcs: [
72        ":deqp_spirv.core.grammar.json-unified1",
73        ":deqp_spirv.debuginfo.grammar.json",
74    ],
75    tool_files: ["utils/generate_grammar_tables.py"],
76    cmd: "$(location) --spirv-core-grammar=$(location :deqp_spirv.core.grammar.json-unified1) "+
77         "--extinst-debuginfo-grammar=$(location :deqp_spirv.debuginfo.grammar.json) "+
78         "--core-insts-output=$(location core.insts-unified1.inc) "+
79         "--operand-kinds-output=$(location operand.kinds-unified1.inc)",
80}
81
82genrule {
83    name: "deqp_gen_spvtools_grammar_tables_debuginfo",
84    out: [
85        "debuginfo.insts.inc",
86    ],
87    srcs: [
88        ":deqp_spirv.debuginfo.grammar.json",
89    ],
90    tool_files: ["utils/generate_grammar_tables.py"],
91    cmd: "$(location) --extinst-vendor-grammar=$(in) "+
92         "--vendor-insts-output=$(out)"
93}
94
95genrule {
96    name: "deqp_gen_spvtools_grammar_tables_amd-gcn-shader",
97    out: [
98        "spv-amd-gcn-shader.insts.inc",
99    ],
100    srcs: [
101        "source/extinst.spv-amd-gcn-shader.grammar.json",
102    ],
103    tool_files: ["utils/generate_grammar_tables.py"],
104    cmd: "$(location) --extinst-vendor-grammar=$(in) "+
105         "--vendor-insts-output=$(out)"
106}
107
108genrule {
109    name: "deqp_gen_spvtools_grammar_tables_amd-shader-ballot",
110    out: [
111        "spv-amd-shader-ballot.insts.inc",
112    ],
113    srcs: [
114        "source/extinst.spv-amd-shader-ballot.grammar.json",
115    ],
116    tool_files: ["utils/generate_grammar_tables.py"],
117    cmd: "$(location) --extinst-vendor-grammar=$(in) "+
118         "--vendor-insts-output=$(out)"
119}
120
121genrule {
122    name: "deqp_gen_spvtools_grammar_tables_amd-shader-explicit-vertex-parameter",
123    out: [
124        "spv-amd-shader-explicit-vertex-parameter.insts.inc",
125    ],
126    srcs: [
127        "source/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json",
128    ],
129    tool_files: ["utils/generate_grammar_tables.py"],
130    cmd: "$(location) --extinst-vendor-grammar=$(in) "+
131         "--vendor-insts-output=$(out)"
132}
133
134genrule {
135    name: "deqp_gen_spvtools_grammar_tables_amd-shader-trinary-minmax",
136    out: [
137        "spv-amd-shader-trinary-minmax.insts.inc",
138    ],
139    srcs: [
140        "source/extinst.spv-amd-shader-trinary-minmax.grammar.json",
141    ],
142    tool_files: ["utils/generate_grammar_tables.py"],
143    cmd: "$(location) --extinst-vendor-grammar=$(in) "+
144         "--vendor-insts-output=$(out)"
145}
146
147genrule {
148    name: "deqp_gen_spvtools_lang_headers",
149    out: [
150        "DebugInfo.h",
151    ],
152    srcs: [
153        ":deqp_spirv.debuginfo.grammar.json",
154    ],
155    tool_files: ["utils/generate_language_headers.py"],
156    cmd: "$(location) --extinst-name=DebugInfo "+
157         "--extinst-grammar=$(location :deqp_spirv.debuginfo.grammar.json) "+
158         "--extinst-output-base=$$(dirname $(location DebugInfo.h))/DebugInfo",
159}
160
161genrule {
162    name: "deqp_gen_spvtools_enum_string_mapping",
163    out: [
164        "extension_enum.inc",
165        "enum_string_mapping.inc",
166    ],
167    srcs: [
168        ":deqp_spirv.core.grammar.json-unified1",
169        ":deqp_spirv.debuginfo.grammar.json",
170    ],
171    tool_files: ["utils/generate_grammar_tables.py"],
172    cmd: "$(location) --spirv-core-grammar=$(location :deqp_spirv.core.grammar.json-unified1) "+
173         "--extinst-debuginfo-grammar=$(location :deqp_spirv.debuginfo.grammar.json) "+
174         "--extension-enum-output=$(location extension_enum.inc) "+
175         "--enum-string-mapping-output=$(location enum_string_mapping.inc) "
176}
177
178genrule {
179    name: "deqp_gen_spvtools_generators_inc",
180    out: [
181        "generators.inc"
182    ],
183    srcs: [
184        ":deqp_spirv.registry.xml"
185    ],
186    tool_files: ["utils/generate_registry_tables.py"],
187    cmd: "$(location) --xml=$(location :deqp_spirv.registry.xml) --generator-output=$(location generators.inc)",
188}
189
190genrule { // FIXME this relies on `git` which is no good on build machines
191    name: "deqp_gen_spvtools_build_version_inc",
192    out: ["build-version.inc"],
193    srcs: ["CHANGES"],
194    tool_files: ["utils/update_build_version.py"],
195    cmd: "$(location) $$(dirname $(location CHANGES)) " +
196         "$(location build-version.inc)",
197}
198
199cc_library {
200    name: "deqp_spirv-tools",
201    sdk_version: "27",
202    srcs: [
203        "source/*.cpp",
204        "source/util/*.cpp",
205        "source/val/*.cpp",
206        "source/opt/*.cpp",
207    ],
208    local_include_dirs: [
209        "source",
210    ],
211    export_include_dirs: [
212        "include",
213    ],
214    include_dirs: [
215        "external/deqp-deps/SPIRV-Headers/include"
216    ],
217    generated_headers: [
218        "deqp_gen_spvtools_grammar_tables_1.0",
219        "deqp_gen_spvtools_grammar_tables_1.1",
220        "deqp_gen_spvtools_grammar_tables_1.2",
221        "deqp_gen_spvtools_grammar_tables_unified1",
222        "deqp_gen_spvtools_grammar_tables_debuginfo",
223        "deqp_gen_spvtools_grammar_tables_amd-gcn-shader",
224        "deqp_gen_spvtools_grammar_tables_amd-shader-ballot",
225        "deqp_gen_spvtools_grammar_tables_amd-shader-explicit-vertex-parameter",
226        "deqp_gen_spvtools_grammar_tables_amd-shader-trinary-minmax",
227        "deqp_gen_spvtools_enum_string_mapping",
228        "deqp_gen_spvtools_generators_inc",
229        "deqp_gen_spvtools_build_version_inc",
230        "deqp_gen_spvtools_lang_headers",
231    ],
232    stl: "libc++_static",
233    cppflags: [
234        "-Wno-implicit-fallthrough"
235    ],
236}
237