#ifndef LIBANGLE_RENDERER_VULKAN_VK_CAPS_UTILS_H_
#define LIBANGLE_RENDERER_VULKAN_VK_CAPS_UTILS_H_
#include "common/vulkan/vk_headers.h"
#include "libANGLE/Config.h"
namespace gl
{
struct Limitations;
struct Extensions;
class TextureCapsMap;
struct Caps;
struct TextureCaps;
struct InternalFormat;
}
namespace rx
{
struct FeaturesVk;
class DisplayVk;
namespace egl_vk
{
constexpr GLenum kConfigDepthStencilFormats[] = …;
egl::ConfigSet GenerateConfigs(const GLenum *colorFormats,
size_t colorFormatsCount,
const GLenum *depthStencilFormats,
size_t depthStencilFormatCount,
DisplayVk *display);
template <size_t ColorFormatCount, size_t DepthStencilFormatCount>
egl::ConfigSet GenerateConfigs(const GLenum (&colorFormats)[ColorFormatCount],
const GLenum (&depthStencilFormats)[DepthStencilFormatCount],
DisplayVk *display)
{ … }
static ANGLE_INLINE EGLenum GetConfigCaveat(GLenum format)
{ … }
}
namespace vk
{
bool CanSupportGLES32(const gl::Extensions &nativeExtensions);
bool CanSupportTransformFeedbackExtension(
const VkPhysicalDeviceTransformFeedbackFeaturesEXT &xfbFeatures);
bool CanSupportTransformFeedbackEmulation(const VkPhysicalDeviceFeatures &features);
}
}
#endif