Skip to content
Snippets Groups Projects
Commit 9a13df9a authored by Lava Block's avatar Lava Block
Browse files

VkFormat_optional

parent 4a9fdb5d
No related branches found
No related tags found
No related merge requests found
...@@ -362,7 +362,7 @@ lava::ui32 lava::format_block_size(VkFormat format) { ...@@ -362,7 +362,7 @@ lava::ui32 lava::format_block_size(VkFormat format) {
#undef fmt #undef fmt
} }
std::optional<VkFormat> lava::get_supported_depth_format(VkPhysicalDevice physical_device) { lava::VkFormat_optional lava::get_supported_depth_format(VkPhysicalDevice physical_device) {
static const VkFormat depth_formats[] = { VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_D32_SFLOAT, VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D16_UNORM_S8_UINT, VK_FORMAT_D16_UNORM }; static const VkFormat depth_formats[] = { VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_D32_SFLOAT, VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D16_UNORM_S8_UINT, VK_FORMAT_D16_UNORM };
for (auto& format : depth_formats) { for (auto& format : depth_formats) {
...@@ -377,7 +377,7 @@ std::optional<VkFormat> lava::get_supported_depth_format(VkPhysicalDevice physic ...@@ -377,7 +377,7 @@ std::optional<VkFormat> lava::get_supported_depth_format(VkPhysicalDevice physic
return std::nullopt; return std::nullopt;
} }
std::optional<VkFormat> lava::get_supported_format(VkPhysicalDevice physical_device, lava::VkFormats const& possible_formats, VkImageUsageFlags usage) { lava::VkFormat_optional lava::get_supported_format(VkPhysicalDevice physical_device, lava::VkFormats const& possible_formats, VkImageUsageFlags usage) {
VkFormatFeatureFlags features = 0; VkFormatFeatureFlags features = 0;
if (usage & VK_IMAGE_USAGE_TRANSFER_SRC_BIT) if (usage & VK_IMAGE_USAGE_TRANSFER_SRC_BIT)
features |= VK_FORMAT_FEATURE_TRANSFER_SRC_BIT; features |= VK_FORMAT_FEATURE_TRANSFER_SRC_BIT;
......
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
namespace lava { namespace lava {
using VkFormat_optional = std::optional<VkFormat>;
bool format_depth(VkFormat format); bool format_depth(VkFormat format);
bool format_stencil(VkFormat format); bool format_stencil(VkFormat format);
...@@ -27,9 +29,9 @@ namespace lava { ...@@ -27,9 +29,9 @@ namespace lava {
ui32 format_block_size(VkFormat format); ui32 format_block_size(VkFormat format);
std::optional<VkFormat> get_supported_depth_format(VkPhysicalDevice physical_device); VkFormat_optional get_supported_depth_format(VkPhysicalDevice physical_device);
std::optional<VkFormat> get_supported_format(VkPhysicalDevice physical_device, VkFormats const& possible_formats, VkImageUsageFlags usage); VkFormat_optional get_supported_format(VkPhysicalDevice physical_device, VkFormats const& possible_formats, VkImageUsageFlags usage);
VkImageMemoryBarrier image_memory_barrier(VkImage image, VkImageLayout old_layout, VkImageLayout new_layout); VkImageMemoryBarrier image_memory_barrier(VkImage image, VkImageLayout old_layout, VkImageLayout new_layout);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment