chromium/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp

//
// 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_utils:
//    Helper functions for the Vulkan Caps.
//

#include "libANGLE/renderer/vulkan/vk_caps_utils.h"

#include <type_traits>

#include "common/system_utils.h"
#include "common/utilities.h"
#include "libANGLE/Caps.h"
#include "libANGLE/formatutils.h"
#include "libANGLE/renderer/driver_utils.h"
#include "libANGLE/renderer/vulkan/DisplayVk.h"
#include "libANGLE/renderer/vulkan/vk_cache_utils.h"
#include "libANGLE/renderer/vulkan/vk_renderer.h"
#include "vk_format_utils.h"

namespace
{
constexpr unsigned int kComponentsPerVector         =;
constexpr bool kEnableLogMissingExtensionsForGLES32 =;
}  // anonymous namespace

namespace rx
{

namespace vk
{
namespace
{
// Checks to see if each format can be reinterpreted to an equivalent format in a different
// colorspace. If all supported formats can be reinterpreted, it returns true. Formats which are not
// supported at all are ignored and not counted as failures.
bool FormatReinterpretationSupported(const std::vector<GLenum> &optionalSizedFormats,
                                     const Renderer *renderer,
                                     bool checkLinearColorspace)
{}

bool GetTextureSRGBDecodeSupport(const Renderer *renderer)
{}

bool GetTextureSRGBOverrideSupport(const Renderer *renderer,
                                   const gl::Extensions &supportedExtensions)
{}

bool CanSupportYuvInternalFormat(const Renderer *renderer)
{}

uint32_t GetTimestampValidBits(const std::vector<VkQueueFamilyProperties> &queueFamilyProperties,
                               uint32_t queueFamilyIndex)
{}

bool CanSupportGPUShader5(const VkPhysicalDeviceFeatures &features)
{}

ANGLE_INLINE std::vector<bool> GetRequiredGLES32ExtensionList(
    const gl::Extensions &nativeExtensions)
{}

void LogMissingExtensionsForGLES32(const gl::Extensions &nativeExtensions)
{}

}  // namespace

void Renderer::ensureCapsInitialized() const
{}

bool CanSupportGLES32(const gl::Extensions &nativeExtensions)
{}

bool CanSupportTransformFeedbackExtension(
    const VkPhysicalDeviceTransformFeedbackFeaturesEXT &xfbFeatures)
{}

bool CanSupportTransformFeedbackEmulation(const VkPhysicalDeviceFeatures &features)
{}

}  // namespace vk

namespace egl_vk
{

namespace
{

EGLint ComputeMaximumPBufferPixels(const VkPhysicalDeviceProperties &physicalDeviceProperties)
{}

EGLint GetMatchFormat(GLenum internalFormat)
{}

// Generates a basic config for a combination of color format, depth stencil format and sample
// count.
egl::Config GenerateDefaultConfig(DisplayVk *display,
                                  const gl::InternalFormat &colorFormat,
                                  const gl::InternalFormat &depthStencilFormat,
                                  EGLint sampleCount)
{}

}  // anonymous namespace

egl::ConfigSet GenerateConfigs(const GLenum *colorFormats,
                               size_t colorFormatsCount,
                               const GLenum *depthStencilFormats,
                               size_t depthStencilFormatCount,
                               DisplayVk *display)
{}

}  // namespace egl_vk

}  // namespace rx