1#pragma once
2
3#include <nn/gfx/detail/gfx_Misc.h>
4#include <nn/nn_BitTypes.h>
5#include <nn/util/util_BitPack.h>
6
7namespace nn::gfx {
8
9struct ShaderInfoData {
10 enum { Flag_SeparationEnable, Flag_ResShader };
11
12 nn::util::BitPack8 flags;
13 Bit8 codeType;
14 Bit8 sourceFormat;
15 char reserved2;
16 Bit32 binaryFormat;
17 detail::Ptr<const void> pVertexShaderCode;
18 detail::Ptr<const void> pHullShaderCode;
19 detail::Ptr<const void> pDomainShaderCode;
20 detail::Ptr<const void> pGeometryShaderCode;
21 detail::Ptr<const void> pPixelShaderCode;
22 detail::Ptr<const void> pComputeShaderCode;
23 char reserved[40];
24};
25
26struct ShaderCode {
27 uint32_t codeSize;
28 uint32_t decompressedCodeSize;
29 detail::Ptr<const void> pCode;
30 char reserved[16];
31};
32
33} // namespace nn::gfx