1#pragma once
2
3#include <prim/seadSafeString.h>
4#include "detail/aglSurface.h"
5#include "driver/aglNVNtexture.h"
6
7namespace agl {
8
9class TextureData {
10public:
11 class CompressToWork {
12 public:
13 explicit CompressToWork(const TextureData&);
14
15 void* _0;
16 void* _8;
17 void* _10;
18 void* _18;
19 u32 _20;
20 void* _28;
21 void* _30;
22 u32 _38;
23 void* _40;
24 detail::Surface mSurface;
25 driver::NVNtexture_ mTexture;
26 };
27
28 TextureData();
29
30 void setMipLevelNum_(s32, bool);
31 u16 getMinSlice_() const;
32 void getTextureFormatName() const;
33 u32 calcMipByteSize(u32) const;
34 bool isCompressedFormat() const;
35 bool isRenderTargetCompressAvailable() const;
36 bool isDepthFormat() const;
37 bool hasStencil() const;
38 void invalidateCPUCache();
39 void flushCPUCache() const;
40 void setDebugLabel(const sead::SafeString& debug_label);
41 void getDebugLabel() const;
42
43private:
44 void* _0;
45 u32 _8;
46 u32 _c;
47 void* _10;
48 void* _18;
49 void* _20;
50 void* _28;
51 detail::Surface mSurface;
52 TextureFormat mTextureFormat;
53 u8 _58[0x120 - 0x58];
54 const char* mDebugLabel; // "agl::TextureData string"
55};
56
57} // namespace agl
58