diff options
author | Rob Clark <[email protected]> | 2020-02-23 11:53:32 -0800 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-02-24 21:31:53 +0000 |
commit | 2275343ba346b04ebf8bafbaedfcd707702f9c06 (patch) | |
tree | 1d1899d5cfc2ffdaeb6e16a8831bcdee0c46c06a /src/freedreno/computerator/meson.build | |
parent | 568e948d1fda10d825cf99f3cb05609c4ff248bd (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.build | 67 |
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'), +) |