1#pragma once
2
3#include <nn/gfx/gfx_MemoryPoolInfoData.h>
4#include <nn/util/util_BinTypes.h>
5
6namespace nn::gfx {
7
8struct NvnDecomposedControlSection {
9 nn::util::BinTPtr<const void> pMetaData;
10 nn::util::BinTPtr<const void> pAssemblyData;
11 nn::util::BinTPtr<const void> pSpecializationData;
12 nn::util::BinTPtr<const void> pPragmaData;
13 nn::util::BinTPtr<const void> pAssemblyLocalsData;
14 nn::util::BinTPtr<const void> pUniform64InfoData;
15 char reserved[16];
16};
17
18struct NvnShaderCode {
19 uint64_t dataAddress;
20 nn::util::BinTPtr<const void> pControl;
21 nn::util::BinTPtr<const void> pData;
22 uint32_t dataSize;
23 uint32_t controlSize;
24 nn::util::BinTPtr<const NvnDecomposedControlSection> pDecomposedControlSection;
25 uint32_t scratchMemoryRecommended;
26 uint32_t scratchMemoryPerWarp;
27 char reserved[16];
28};
29
30struct NvnShaderPool {
31 MemoryPoolInfoData memoryPoolInfo;
32 nn::util::BinTPtr<void> pMemoryPool;
33 char reserved2[8];
34 nn::util::BinTPtr<void> pCurrentMemoryPool;
35 char reserved[24];
36};
37
38} // namespace nn::gfx