blob: 774932df68d5dd01bd7b3cc7bfe75007f112bd77 [file] [log] [blame]
// GENERATED FILE - DO NOT EDIT.
// Generated by gen_vk_internal_shaders.py using data from shaders/src/*
//
// Copyright 2018 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// vk_internal_shaders_autogen.h:
// Pre-generated shader library for the ANGLE Vulkan back-end.
#ifndef LIBANGLE_RENDERER_VULKAN_VK_INTERNAL_SHADERS_AUTOGEN_H_
#define LIBANGLE_RENDERER_VULKAN_VK_INTERNAL_SHADERS_AUTOGEN_H_
#include "libANGLE/renderer/vulkan/vk_utils.h"
namespace rx
{
namespace vk
{
namespace InternalShader
{
namespace BlitResolve_frag
{
enum flags
{
kSrcIsArray = 0x00000001,
kIsResolve = 0x00000002,
};
enum Blit
{
kBlitColorFloat = 0x00000000,
kBlitColorInt = 0x00000004,
kBlitColorUint = 0x00000008,
kBlitDepth = 0x0000000C,
kBlitStencil = 0x00000010,
kBlitDepthStencil = 0x00000014,
};
constexpr size_t kArrayLen = 0x00000018;
} // namespace BlitResolve_frag
namespace BlitResolveStencilNoExport_comp
{
enum flags
{
kSrcIsArray = 0x00000001,
kIsResolve = 0x00000002,
};
constexpr size_t kArrayLen = 0x00000004;
} // namespace BlitResolveStencilNoExport_comp
namespace ConvertIndex_comp
{
enum flags
{
kIsPrimitiveRestartEnabled = 0x00000001,
kIsIndirect = 0x00000002,
};
constexpr size_t kArrayLen = 0x00000004;
} // namespace ConvertIndex_comp
namespace ConvertIndexIndirectLineLoop_comp
{
enum IndicesBitsWidth
{
kIs8Bits = 0x00000000,
kIs16Bits = 0x00000001,
kIs32Bits = 0x00000002,
};
constexpr size_t kArrayLen = 0x00000003;
} // namespace ConvertIndexIndirectLineLoop_comp
namespace ConvertIndirectLineLoop_comp
{
constexpr size_t kArrayLen = 0x00000001;
} // namespace ConvertIndirectLineLoop_comp
namespace ConvertVertex_comp
{
enum Conversion
{
kSintToSint = 0x00000000,
kUintToUint = 0x00000001,
kSintToFloat = 0x00000002,
kUintToFloat = 0x00000003,
kSnormToFloat = 0x00000004,
kUnormToFloat = 0x00000005,
kFixedToFloat = 0x00000006,
kFloatToFloat = 0x00000007,
};
constexpr size_t kArrayLen = 0x00000008;
} // namespace ConvertVertex_comp
namespace FullScreenTri_vert
{
constexpr size_t kArrayLen = 0x00000001;
} // namespace FullScreenTri_vert
namespace GenerateMipmap_comp
{
enum MaxSupportedDest
{
kDestSize4 = 0x00000000,
kDestSize6 = 0x00000001,
};
enum Format
{
kIsRGBA8 = 0x00000000,
kIsRGBA8_UseHalf = 0x00000002,
kIsRGBA16 = 0x00000004,
kIsRGBA16_UseHalf = 0x00000006,
kIsRGBA32F = 0x00000008,
};
constexpr size_t kArrayLen = 0x0000000A;
} // namespace GenerateMipmap_comp
namespace ImageClear_frag
{
enum flags
{
kClearDepth = 0x00000001,
};
enum AttachmentIndex
{
kAttachment0 = 0x00000000,
kAttachment1 = 0x00000002,
kAttachment2 = 0x00000004,
kAttachment3 = 0x00000006,
kAttachment4 = 0x00000008,
kAttachment5 = 0x0000000A,
kAttachment6 = 0x0000000C,
kAttachment7 = 0x0000000E,
};
enum Format
{
kIsFloat = 0x00000000,
kIsSint = 0x00000010,
kIsUint = 0x00000020,
};
constexpr size_t kArrayLen = 0x00000030;
} // namespace ImageClear_frag
namespace ImageCopy_frag
{
enum DestFormat
{
kDestIsFloat = 0x00000000,
kDestIsSint = 0x00000001,
kDestIsUint = 0x00000002,
};
enum SrcFormat
{
kSrcIsFloat = 0x00000000,
kSrcIsSint = 0x00000004,
kSrcIsUint = 0x00000008,
};
enum SrcType
{
kSrcIs2D = 0x00000000,
kSrcIs2DArray = 0x00000010,
kSrcIs3D = 0x00000020,
};
constexpr size_t kArrayLen = 0x0000002B;
} // namespace ImageCopy_frag
namespace OverlayDraw_frag
{
constexpr size_t kArrayLen = 0x00000001;
} // namespace OverlayDraw_frag
namespace OverlayDraw_vert
{
constexpr size_t kArrayLen = 0x00000001;
} // namespace OverlayDraw_vert
} // namespace InternalShader
class ShaderLibrary final : angle::NonCopyable
{
public:
ShaderLibrary();
~ShaderLibrary();
void destroy(VkDevice device);
angle::Result getBlitResolve_frag(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getBlitResolveStencilNoExport_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getConvertIndex_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getConvertIndexIndirectLineLoop_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getConvertIndirectLineLoop_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getConvertVertex_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getFullScreenTri_vert(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getGenerateMipmap_comp(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getImageClear_frag(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getImageCopy_frag(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getOverlayDraw_frag(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
angle::Result getOverlayDraw_vert(Context *context,
uint32_t shaderFlags,
RefCounted<ShaderAndSerial> **shaderOut);
private:
RefCounted<ShaderAndSerial>
mBlitResolve_frag_shaders[InternalShader::BlitResolve_frag::kArrayLen];
RefCounted<ShaderAndSerial> mBlitResolveStencilNoExport_comp_shaders
[InternalShader::BlitResolveStencilNoExport_comp::kArrayLen];
RefCounted<ShaderAndSerial>
mConvertIndex_comp_shaders[InternalShader::ConvertIndex_comp::kArrayLen];
RefCounted<ShaderAndSerial> mConvertIndexIndirectLineLoop_comp_shaders
[InternalShader::ConvertIndexIndirectLineLoop_comp::kArrayLen];
RefCounted<ShaderAndSerial> mConvertIndirectLineLoop_comp_shaders
[InternalShader::ConvertIndirectLineLoop_comp::kArrayLen];
RefCounted<ShaderAndSerial>
mConvertVertex_comp_shaders[InternalShader::ConvertVertex_comp::kArrayLen];
RefCounted<ShaderAndSerial>
mFullScreenTri_vert_shaders[InternalShader::FullScreenTri_vert::kArrayLen];
RefCounted<ShaderAndSerial>
mGenerateMipmap_comp_shaders[InternalShader::GenerateMipmap_comp::kArrayLen];
RefCounted<ShaderAndSerial>
mImageClear_frag_shaders[InternalShader::ImageClear_frag::kArrayLen];
RefCounted<ShaderAndSerial> mImageCopy_frag_shaders[InternalShader::ImageCopy_frag::kArrayLen];
RefCounted<ShaderAndSerial>
mOverlayDraw_frag_shaders[InternalShader::OverlayDraw_frag::kArrayLen];
RefCounted<ShaderAndSerial>
mOverlayDraw_vert_shaders[InternalShader::OverlayDraw_vert::kArrayLen];
};
} // namespace vk
} // namespace rx
#endif // LIBANGLE_RENDERER_VULKAN_VK_INTERNAL_SHADERS_AUTOGEN_H_