Files
FlaxEngine/Source/Engine/GraphicsDevice/Vulkan/VulkanPlatformBase.h
2021-01-02 14:28:49 +01:00

65 lines
1.8 KiB
C++

// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#pragma once
#include "Engine/Core/Common.h"
#include "Engine/Graphics/PixelFormat.h"
#include "IncludeVulkanHeaders.h"
#if GRAPHICS_API_VULKAN
enum class VulkanValidationLevel
{
Disabled = 0,
ErrorsOnly = 1,
ErrorsAndWarnings = 2,
ErrorsAndWarningsPerf = 3,
ErrorsAndWarningsPerfInfo = 4,
All = 5,
};
/// <summary>
/// The base implementation for the Vulkan API platform support.
/// </summary>
class VulkanPlatformBase
{
public:
static void NotifyFoundInstanceLayersAndExtensions(const Array<StringAnsi>& layers, const Array<StringAnsi>& extensions)
{
}
static void NotifyFoundDeviceLayersAndExtensions(VkPhysicalDevice physicalDevice, const Array<StringAnsi>& layers, const Array<StringAnsi>& extensions)
{
}
static void GetInstanceExtensions(Array<const char*>& outExtensions)
{
}
static void GetDeviceExtensions(Array<const char*>& outExtensions)
{
}
static void CreateSurface(VkSurfaceKHR* outSurface)
{
}
static void RestrictEnabledPhysicalDeviceFeatures(const VkPhysicalDeviceFeatures& deviceFeatures, VkPhysicalDeviceFeatures& featuresToEnable)
{
featuresToEnable = deviceFeatures;
featuresToEnable.shaderResourceResidency = VK_FALSE;
featuresToEnable.shaderResourceMinLod = VK_FALSE;
featuresToEnable.sparseBinding = VK_FALSE;
featuresToEnable.sparseResidencyBuffer = VK_FALSE;
featuresToEnable.sparseResidencyImage2D = VK_FALSE;
featuresToEnable.sparseResidencyImage3D = VK_FALSE;
featuresToEnable.sparseResidency2Samples = VK_FALSE;
featuresToEnable.sparseResidency4Samples = VK_FALSE;
featuresToEnable.sparseResidency8Samples = VK_FALSE;
featuresToEnable.sparseResidencyAliased = VK_FALSE;
}
};
#endif