1 | #pragma once |
---|---|
2 | |
3 | #include <vector> |
4 | #include <map> |
5 | |
6 | #include "taichi/codegen/spirv/kernel_utils.h" |
7 | #include "taichi/aot/module_loader.h" |
8 | |
9 | namespace taichi::lang { |
10 | namespace gfx { |
11 | |
12 | /** |
13 | * AOT module data for the Unified Device API backend. |
14 | */ |
15 | struct TaichiAotData { |
16 | // BufferMetaData metadata; |
17 | std::vector<std::vector<std::vector<uint32_t>>> spirv_codes; |
18 | std::vector<spirv::TaichiKernelAttributes> kernels; |
19 | std::vector<aot::CompiledFieldData> fields; |
20 | std::map<std::string, uint32_t> required_caps; |
21 | size_t root_buffer_size{0}; |
22 | |
23 | TI_IO_DEF(kernels, fields, required_caps, root_buffer_size); |
24 | }; |
25 | |
26 | } // namespace gfx |
27 | } // namespace taichi::lang |
28 |