| // GENERATED FILE - DO NOT EDIT. |
| // Generated by gen_vk_internal_shaders.py using data from shaders/src/* |
| // |
| // Copyright 2019 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 flags |
| { |
| kIs32Bit = 0x00000001, |
| }; |
| constexpr size_t kArrayLen = 0x00000002; |
| } // 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<ShaderAndSerial> **shaderOut); |
| angle::Result getBlitResolveStencilNoExport_comp(Context *context, |
| uint32_t shaderFlags, |
| RefCounted<ShaderAndSerial> **shaderOut); |
| angle::Result getBufferUtils_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 getFullScreenQuad_vert(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 getOverlayCull_comp(Context *context, |
| uint32_t shaderFlags, |
| RefCounted<ShaderAndSerial> **shaderOut); |
| angle::Result getOverlayDraw_comp(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> |
| mBufferUtils_comp_shaders[InternalShader::BufferUtils_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> |
| mFullScreenQuad_vert_shaders[InternalShader::FullScreenQuad_vert::kArrayLen]; |
| RefCounted<ShaderAndSerial> |
| mImageClear_frag_shaders[InternalShader::ImageClear_frag::kArrayLen]; |
| RefCounted<ShaderAndSerial> mImageCopy_frag_shaders[InternalShader::ImageCopy_frag::kArrayLen]; |
| RefCounted<ShaderAndSerial> |
| mOverlayCull_comp_shaders[InternalShader::OverlayCull_comp::kArrayLen]; |
| RefCounted<ShaderAndSerial> |
| mOverlayDraw_comp_shaders[InternalShader::OverlayDraw_comp::kArrayLen]; |
| }; |
| } // namespace vk |
| } // namespace rx |
| |
| #endif // LIBANGLE_RENDERER_VULKAN_VK_INTERNAL_SHADERS_AUTOGEN_H_ |