mesa/src/intel/meson.build
Caio Oliveira e72bf2d02f intel: Add executor tool
Add a tool that programs the hardware the minimum amount to be
able to execute compute shaders and then executes a script that
can perform data manipulation and dispatch execution of the shaders
(written in Xe assembly).

The goal is to have a tool to experiment directly with certain
assembly instructions and the shared units without having to
instrument the drivers.

To make more convenient to write assembly, a few macros (indicated by
the @-symbol) will be processed into the full instruction.

For example, the script

```
  local r = execute {
    data={ [42] = 0x100 },
    src=[[
      @mov     g1      42
      @read    g2      g1

      @id      g3

      add(8)   g4<1>UD  g2<8,8,1>UD  g3<8,8,1>UD  { align1 @1 1Q };

      @write   g3       g4
      @eot
    ]]
  }

  dump(r, 4)
```

produces

```
  [0x00000000] 0x00000100 0x00000101 0x00000102 0x00000103
```

There's a help message inside the code that describes the script
environment and the macros for assembly sources.

Acked-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30062>
2024-08-14 03:03:46 +00:00

36 lines
824 B
Meson

# Copyright © 2017 Intel Corporation
# SPDX-License-Identifier: MIT
inc_intel = include_directories('.')
subdir('genxml')
subdir('dev')
if with_intel_hasvk or with_intel_vk or with_gallium_crocus or with_gallium_iris
subdir('blorp')
endif
subdir('isl')
subdir('common')
subdir('compiler')
subdir('decoder')
if with_intel_vk or with_gallium_iris
subdir('shaders')
endif
if with_intel_hasvk or with_intel_vk or with_gallium_crocus or with_gallium_iris or with_intel_tools
subdir('perf')
endif
if with_intel_hasvk or with_intel_vk or with_gallium_iris
subdir('ds')
endif
if with_intel_tools
subdir('tools')
subdir('executor')
endif
if get_option('vulkan-layers').contains('intel-nullhw')
subdir('nullhw-layer')
endif
if with_intel_vk
subdir('vulkan')
endif
if with_intel_hasvk
subdir('vulkan_hasvk')
endif