// GENERATED FILE - DO NOT EDIT. // Generated by gen_vk_internal_shaders.py using data from shaders/src/* // // Copyright 2020 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 BufferUtils_comp { enum flags { kIsAligned = 0x00000001, }; enum Function { kIsClear = 0x00000000, kIsCopy = 0x00000002, }; enum Format { kIsFloat = 0x00000000, kIsSint = 0x00000004, kIsUint = 0x00000008, }; constexpr size_t kArrayLen = 0x0000000C; } // namespace BufferUtils_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, kA2BGR10SintToSint = 0x00000008, kA2BGR10UintToUint = 0x00000009, kA2BGR10SintToFloat = 0x0000000A, kA2BGR10UintToFloat = 0x0000000B, kA2BGR10SnormToFloat = 0x0000000C, kRGB10A2SintToFloat = 0x0000000D, kRGB10A2UintToFloat = 0x0000000E, kRGB10A2SnormToFloat = 0x0000000F, kRGB10A2UnormToFloat = 0x00000010, }; constexpr size_t kArrayLen = 0x00000011; } // namespace ConvertVertex_comp namespace FullScreenQuad_vert { constexpr size_t kArrayLen = 0x00000001; } // namespace FullScreenQuad_vert namespace ImageClear_frag { enum AttachmentIndex { kAttachment0 = 0x00000000, kAttachment1 = 0x00000001, kAttachment2 = 0x00000002, kAttachment3 = 0x00000003, kAttachment4 = 0x00000004, kAttachment5 = 0x00000005, kAttachment6 = 0x00000006, kAttachment7 = 0x00000007, }; enum Format { kIsFloat = 0x00000000, kIsSint = 0x00000008, kIsUint = 0x00000010, }; constexpr size_t kArrayLen = 0x00000018; } // namespace ImageClear_frag namespace ImageCopy_frag { enum flags { kSrcIsArray = 0x00000001, }; enum SrcFormat { kSrcIsFloat = 0x00000000, kSrcIsSint = 0x00000002, kSrcIsUint = 0x00000004, }; enum DestFormat { kDestIsFloat = 0x00000000, kDestIsSint = 0x00000008, kDestIsUint = 0x00000010, }; constexpr size_t kArrayLen = 0x00000016; } // namespace ImageCopy_frag namespace OverlayCull_comp { enum SubgroupSize { kIs8x4 = 0x00000000, kIs8x8 = 0x00000001, }; enum SubgroupOp { kSupportsBallot = 0x00000000, kSupportsArithmetic = 0x00000002, kSupportsNone = 0x00000004, }; constexpr size_t kArrayLen = 0x00000006; } // namespace OverlayCull_comp namespace OverlayDraw_comp { enum SubgroupSize { kIs8x4 = 0x00000000, kIs8x8 = 0x00000001, }; constexpr size_t kArrayLen = 0x00000002; } // namespace OverlayDraw_comp } // namespace InternalShader class ShaderLibrary final : angle::NonCopyable { public: ShaderLibrary(); ~ShaderLibrary(); void destroy(VkDevice device); angle::Result getBlitResolve_frag(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getBlitResolveStencilNoExport_comp(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getBufferUtils_comp(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getConvertIndex_comp(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getConvertIndexIndirectLineLoop_comp(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getConvertIndirectLineLoop_comp(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getConvertVertex_comp(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getFullScreenQuad_vert(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getImageClear_frag(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getImageCopy_frag(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getOverlayCull_comp(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); angle::Result getOverlayDraw_comp(Context *context, uint32_t shaderFlags, RefCounted **shaderOut); private: RefCounted mBlitResolve_frag_shaders[InternalShader::BlitResolve_frag::kArrayLen]; RefCounted mBlitResolveStencilNoExport_comp_shaders [InternalShader::BlitResolveStencilNoExport_comp::kArrayLen]; RefCounted mBufferUtils_comp_shaders[InternalShader::BufferUtils_comp::kArrayLen]; RefCounted mConvertIndex_comp_shaders[InternalShader::ConvertIndex_comp::kArrayLen]; RefCounted mConvertIndexIndirectLineLoop_comp_shaders [InternalShader::ConvertIndexIndirectLineLoop_comp::kArrayLen]; RefCounted mConvertIndirectLineLoop_comp_shaders [InternalShader::ConvertIndirectLineLoop_comp::kArrayLen]; RefCounted mConvertVertex_comp_shaders[InternalShader::ConvertVertex_comp::kArrayLen]; RefCounted mFullScreenQuad_vert_shaders[InternalShader::FullScreenQuad_vert::kArrayLen]; RefCounted mImageClear_frag_shaders[InternalShader::ImageClear_frag::kArrayLen]; RefCounted mImageCopy_frag_shaders[InternalShader::ImageCopy_frag::kArrayLen]; RefCounted mOverlayCull_comp_shaders[InternalShader::OverlayCull_comp::kArrayLen]; RefCounted mOverlayDraw_comp_shaders[InternalShader::OverlayDraw_comp::kArrayLen]; }; } // namespace vk } // namespace rx #endif // LIBANGLE_RENDERER_VULKAN_VK_INTERNAL_SHADERS_AUTOGEN_H_