1#pragma once
2
3#include <nn/gfx/detail/gfx_Misc.h>
4#include <nn/gfx/gfx_Common.h>
5#include <nn/nn_BitTypes.h>
6#include <nn/util/util_BitPack.h>
7
8namespace nn::gfx {
9
10template <>
11struct TextureImplData<ApiVariationNvn8> {
12 enum State { State_NotInitialized, State_Initialized };
13 enum Flag { Flag_Shared };
14
15 Bit8 state;
16 nn::util::BitPack8 flags;
17 char reserved[6];
18 detail::Ptr<void> pNvnTexture;
19 char nvnTexture[192];
20 detail::Ptr<void> userPtr;
21};
22
23template <>
24struct TextureViewImplData<ApiVariationNvn8> {
25 enum State { State_NotInitialized, State_Initialized };
26 enum Flag { Flag_Shared };
27
28 Bit8 state;
29 nn::util::BitPack8 flags;
30 char reserved[6];
31 detail::Ptr<void> pNvnTexture;
32 detail::Ptr<void> pNvnTextureView;
33 char nvnTextureView[40];
34 detail::Ptr<void> userPtr;
35};
36
37template <>
38struct ColorTargetViewImplData<ApiVariationNvn8> {
39 enum State { State_NotInitialized, State_Initialized };
40 enum Flag { Flag_Shared };
41
42 Bit8 state;
43 nn::util::BitPack8 flags;
44 char reserved[6];
45 detail::Ptr<void> pNvnTexture;
46 detail::Ptr<void> pNvnTextureView;
47 char nvnTextureView[40];
48 detail::Ptr<void> userPtr;
49};
50
51template <>
52struct DepthStencilViewImplData<ApiVariationNvn8> {
53 enum State { State_NotInitialized, State_Initialized };
54 enum Flag { Flag_Shared };
55
56 Bit8 state;
57 nn::util::BitPack8 flags;
58 char reserved[6];
59 detail::Ptr<void> pNvnTexture;
60 detail::Ptr<void> pNvnTextureView;
61 char nvnTextureView[40];
62 detail::Ptr<void> userPtr;
63};
64
65} // namespace nn::gfx