1// this file's name isn't confirmed, following the naming structure anyways
2
3#pragma once
4
5#include <nn/gfx/gfx_Common.h>
6#include <nvn/nvn.h>
7
8namespace nn::gfx {
9
10template <>
11class TInteroperation<ApiVariationNvn8> {
12 static void ConvertToGfxDevice(TDevice<ApiVariationNvn8>*, NVNdevice*);
13 static void ConvertToGfxQueue(TQueue<ApiVariationNvn8>*, NVNqueue*, TDevice<ApiVariationNvn8>*);
14 static void ConvertToGfxMemoryPool(TMemoryPool<ApiVariationNvn8>*, NVNmemoryPool*, void*);
15 static void ConvertToGfxDescriptorPool(TDescriptorPool<ApiVariationNvn8>*, NVNtexturePool*);
16 static void ConvertToGfxDescriptorPool(TDescriptorPool<ApiVariationNvn8>*, NVNsamplerPool*);
17 static void ConvertToGfxBuffer(TBuffer<ApiVariationNvn8>*, NVNbuffer*);
18 static void ConvertToGfxCommandBuffer(TCommandBuffer<ApiVariationNvn8>*,
19 TDevice<ApiVariationNvn8>*, NVNcommandBuffer*);
20 static void ConvertToGfxSampler(TSampler<ApiVariationNvn8>*, NVNsampler*);
21 static void ConvertToGfxShader(TShader<ApiVariationNvn8>*, NVNprogram*, bool, int);
22 static void ConvertToGfxTexture(TTexture<ApiVariationNvn8>*, NVNtexture*);
23 static void ConvertToGfxTextureView(TTextureView<ApiVariationNvn8>*, NVNtexture*,
24 NVNtextureView*);
25 static void ConvertToGfxColorTargetView(TColorTargetView<ApiVariationNvn8>*, NVNtexture*,
26 NVNtextureView*);
27 static void ConvertToGfxDepthStencilView(TDepthStencilView<ApiVariationNvn8>*, NVNtexture*,
28 NVNtextureView*);
29 static NVNformat ConvertToNvnFormat(ImageFormat);
30 static NVNformat ConvertToNvnFormat(AttributeFormat);
31};
32
33} // namespace nn::gfx