aboutsummaryrefslogtreecommitdiffstats
path: root/src/freedreno/computerator/meson.build
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2020-02-23 11:53:32 -0800
committerMarge Bot <[email protected]>2020-02-24 21:31:53 +0000
commit2275343ba346b04ebf8bafbaedfcd707702f9c06 (patch)
tree1d1899d5cfc2ffdaeb6e16a8831bcdee0c46c06a /src/freedreno/computerator/meson.build
parent568e948d1fda10d825cf99f3cb05609c4ff248bd (diff)
freedreno/computerator: add computerator
A standalone tool to compile and run compute shaders from ir3 assembly. Mostly to have an easy way to experiment with instructions. Signed-off-by: Rob Clark <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3926> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3926>
Diffstat (limited to 'src/freedreno/computerator/meson.build')
-rw-r--r--src/freedreno/computerator/meson.build67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/freedreno/computerator/meson.build b/src/freedreno/computerator/meson.build
new file mode 100644
index 00000000000..97a816312c8
--- /dev/null
+++ b/src/freedreno/computerator/meson.build
@@ -0,0 +1,67 @@
+# Copyright © 2020 Google, Inc
+
+# 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 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.
+
+ir3_parser = custom_target(
+ 'ir3_parser.[ch]',
+ input: 'ir3_parser.y',
+ output: ['ir3_parser.c', 'ir3_parser.h'],
+ command: [
+ prog_bison, '@INPUT@', '--name-prefix=ir3_yy', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'
+ ]
+)
+
+ir3_lexer = custom_target(
+ 'ir3_lexer.c',
+ input: 'ir3_lexer.l',
+ output: 'ir3_lexer.c',
+ command: [
+ prog_flex, '-o', '@OUTPUT@', '@INPUT@'
+ ]
+)
+
+computerator_files = [
+ 'a6xx.c',
+ 'ir3_asm.c',
+ 'main.c',
+ ir3_parser[0],
+ ir3_parser[1],
+ ir3_lexer
+]
+
+computerator = executable(
+ 'computerator',
+ computerator_files,
+ include_directories : [
+ inc_common,
+ inc_freedreno,
+ ],
+ link_with : [
+ libfreedreno_drm,
+ libfreedreno_ir3,
+ ],
+ dependencies : [
+ dep_libdrm,
+ idep_mesautil,
+ # We don't actually use nir, but ir3 wants some nir headers:
+ idep_nir,
+ ],
+ build_by_default : with_tools.contains('freedreno'),
+ install : with_tools.contains('freedreno'),
+)