From: Jacob Lifshay <programmerjake@gmail.com> Date: Wed, 20 Sep 2017 00:46:57 +0000 (-0700) Subject: fix image/buffer feature bits through VK_FORMAT_R16G16B16A16_SFLOAT X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9920d67f01fd2f3a74df3530feca079dc95998aa;p=kazan.git fix image/buffer feature bits through VK_FORMAT_R16G16B16A16_SFLOAT --- diff --git a/src/vulkan/api_objects.h b/src/vulkan/api_objects.h index efac5c1..56a607d 100644 --- a/src/vulkan/api_objects.h +++ b/src/vulkan/api_objects.h @@ -659,204 +659,294 @@ constexpr VkFormatProperties get_format_properties(VkFormat format) noexcept .bufferFeatures = 0, }; case VK_FORMAT_A2R10G10B10_UNORM_PACK32: -#warning implement VK_FORMAT_A2R10G10B10_UNORM_PACK32 return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_A2R10G10B10_SNORM_PACK32: -#warning implement VK_FORMAT_A2R10G10B10_SNORM_PACK32 return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_A2R10G10B10_USCALED_PACK32: -#warning implement VK_FORMAT_A2R10G10B10_USCALED_PACK32 return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: -#warning implement VK_FORMAT_A2R10G10B10_SSCALED_PACK32 return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_A2R10G10B10_UINT_PACK32: -#warning implement VK_FORMAT_A2R10G10B10_UINT_PACK32 return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_A2R10G10B10_SINT_PACK32: -#warning implement VK_FORMAT_A2R10G10B10_SINT_PACK32 return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_A2B10G10R10_UNORM_PACK32: #warning implement VK_FORMAT_A2B10G10R10_UNORM_PACK32 return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, + .bufferFeatures = + VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, }; case VK_FORMAT_A2B10G10R10_SNORM_PACK32: -#warning implement VK_FORMAT_A2B10G10R10_SNORM_PACK32 return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_A2B10G10R10_USCALED_PACK32: -#warning implement VK_FORMAT_A2B10G10R10_USCALED_PACK32 return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: -#warning implement VK_FORMAT_A2B10G10R10_SSCALED_PACK32 return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_A2B10G10R10_UINT_PACK32: #warning implement VK_FORMAT_A2B10G10R10_UINT_PACK32 return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT, + .bufferFeatures = VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, }; case VK_FORMAT_A2B10G10R10_SINT_PACK32: -#warning implement VK_FORMAT_A2B10G10R10_SINT_PACK32 return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16_UNORM: #warning implement VK_FORMAT_R16_UNORM return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = 0, + .bufferFeatures = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, }; case VK_FORMAT_R16_SNORM: #warning implement VK_FORMAT_R16_SNORM return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = 0, + .bufferFeatures = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, }; case VK_FORMAT_R16_USCALED: -#warning implement VK_FORMAT_R16_USCALED return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16_SSCALED: -#warning implement VK_FORMAT_R16_SSCALED return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16_UINT: #warning implement VK_FORMAT_R16_UINT return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT, + .bufferFeatures = + VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, }; case VK_FORMAT_R16_SINT: #warning implement VK_FORMAT_R16_SINT return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT, + .bufferFeatures = + VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, }; case VK_FORMAT_R16_SFLOAT: #warning implement VK_FORMAT_R16_SFLOAT return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, + .bufferFeatures = + VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, }; case VK_FORMAT_R16G16_UNORM: #warning implement VK_FORMAT_R16G16_UNORM return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = 0, + .bufferFeatures = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, }; case VK_FORMAT_R16G16_SNORM: #warning implement VK_FORMAT_R16G16_SNORM return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = 0, + .bufferFeatures = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, }; case VK_FORMAT_R16G16_USCALED: -#warning implement VK_FORMAT_R16G16_USCALED return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16_SSCALED: -#warning implement VK_FORMAT_R16G16_SSCALED return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16_UINT: #warning implement VK_FORMAT_R16G16_UINT return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT, + .bufferFeatures = + VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, }; case VK_FORMAT_R16G16_SINT: #warning implement VK_FORMAT_R16G16_SINT return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT, + .bufferFeatures = + VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, }; case VK_FORMAT_R16G16_SFLOAT: #warning implement VK_FORMAT_R16G16_SFLOAT return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, + .bufferFeatures = + VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, }; case VK_FORMAT_R16G16B16_UNORM: -#warning implement VK_FORMAT_R16G16B16_UNORM return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16B16_SNORM: -#warning implement VK_FORMAT_R16G16B16_SNORM return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16B16_USCALED: -#warning implement VK_FORMAT_R16G16B16_USCALED return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16B16_SSCALED: -#warning implement VK_FORMAT_R16G16B16_SSCALED return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16B16_UINT: -#warning implement VK_FORMAT_R16G16B16_UINT return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16B16_SINT: -#warning implement VK_FORMAT_R16G16B16_SINT return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16B16_SFLOAT: -#warning implement VK_FORMAT_R16G16B16_SFLOAT return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16B16A16_UNORM: #warning implement VK_FORMAT_R16G16B16A16_UNORM return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = 0, + .bufferFeatures = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, }; case VK_FORMAT_R16G16B16A16_SNORM: #warning implement VK_FORMAT_R16G16B16A16_SNORM return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = 0, + .bufferFeatures = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, }; case VK_FORMAT_R16G16B16A16_USCALED: -#warning implement VK_FORMAT_R16G16B16A16_USCALED return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16B16A16_SSCALED: -#warning implement VK_FORMAT_R16G16B16A16_SSCALED return { .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, }; case VK_FORMAT_R16G16B16A16_UINT: #warning implement VK_FORMAT_R16G16B16A16_UINT return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT, + .bufferFeatures = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT + | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT + | VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT, }; case VK_FORMAT_R16G16B16A16_SINT: #warning implement VK_FORMAT_R16G16B16A16_SINT return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT, + .bufferFeatures = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT + | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT + | VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT, }; case VK_FORMAT_R16G16B16A16_SFLOAT: #warning implement VK_FORMAT_R16G16B16A16_SFLOAT return { - .linearTilingFeatures = 0, .optimalTilingFeatures = 0, .bufferFeatures = 0, + .linearTilingFeatures = 0, + .optimalTilingFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT + | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR + | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR + | VK_FORMAT_FEATURE_BLIT_SRC_BIT + | VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT + | VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT + | VK_FORMAT_FEATURE_BLIT_DST_BIT + | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, + .bufferFeatures = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT + | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT + | VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT, }; case VK_FORMAT_R32_UINT: #warning implement VK_FORMAT_R32_UINT