diff --git a/example/Vulkan/Deferred.cpp b/example/Vulkan/Deferred.cpp index d83c2c14..0e50120c 100644 --- a/example/Vulkan/Deferred.cpp +++ b/example/Vulkan/Deferred.cpp @@ -35,7 +35,7 @@ constexpr VkFormat normal_candidate_format []={FMT_RGBA32F, FMT_RGBA16F, FMT_A2RGB10UN,FMT_A2RGB10SN,FMT_A2BGR10UN, FMT_A2BGR10SN}; -constexpr VkFormat depth_candidate_format []={FMT_D32F,FMT_D32F_S8U,FMT_X8_D24,FMT_D24UN_S8U,FMT_D16UN,FMT_D16UN_S8U}; +constexpr VkFormat depth_candidate_format []={FMT_D32F,FMT_D32F_S8U,FMT_X8_D24UN,FMT_D24UN_S8U,FMT_D16UN,FMT_D16UN_S8U}; class TestApp:public CameraAppFramework { diff --git a/inc/hgl/graph/vulkan/VKPhysicalDevice.h b/inc/hgl/graph/vulkan/VKPhysicalDevice.h index e4e2f521..c9aae804 100644 --- a/inc/hgl/graph/vulkan/VKPhysicalDevice.h +++ b/inc/hgl/graph/vulkan/VKPhysicalDevice.h @@ -16,10 +16,6 @@ class PhysicalDevice List layer_properties; List extension_properties; - VkFormatProperties format_properties[VK_FORMAT_RANGE_SIZE]; - - void InitFormatSupport(); - public: PhysicalDevice(VkInstance,VkPhysicalDevice); @@ -76,9 +72,9 @@ public: return fp; } - bool OptimalSupport (const VkFormat format,const VkFormatFeatureFlags flag)const{return((formatVK_FORMAT_END_RANGE)?false:(format_properties[format].optimalTilingFeatures&flag));} - bool LinearSupport (const VkFormat format,const VkFormatFeatureFlags flag)const{return((formatVK_FORMAT_END_RANGE)?false:(format_properties[format].linearTilingFeatures&flag));} - bool BufferSupport (const VkFormat format,const VkFormatFeatureFlags flag)const{return((formatVK_FORMAT_END_RANGE)?false:(format_properties[format].bufferFeatures&flag));} + bool OptimalSupport (const VkFormat format,const VkFormatFeatureFlags flag)const{VkFormatProperties fp;vkGetPhysicalDeviceFormatProperties(physical_device,format,&fp);return fp.optimalTilingFeatures&flag;} + bool LinearSupport (const VkFormat format,const VkFormatFeatureFlags flag)const{VkFormatProperties fp;vkGetPhysicalDeviceFormatProperties(physical_device,format,&fp);return fp.linearTilingFeatures&flag;} + bool BufferSupport (const VkFormat format,const VkFormatFeatureFlags flag)const{VkFormatProperties fp;vkGetPhysicalDeviceFormatProperties(physical_device,format,&fp);return fp.bufferFeatures&flag;} bool IsColorAttachmentOptimal(const VkFormat format)const{return OptimalSupport(format,VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT);} bool IsDepthAttachmentOptimal(const VkFormat format)const{return OptimalSupport(format,VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT);} diff --git a/src/RenderDevice/Vulkan/VKPhysicalDevice.cpp b/src/RenderDevice/Vulkan/VKPhysicalDevice.cpp index 432c961e..95eb0850 100644 --- a/src/RenderDevice/Vulkan/VKPhysicalDevice.cpp +++ b/src/RenderDevice/Vulkan/VKPhysicalDevice.cpp @@ -56,8 +56,6 @@ PhysicalDevice::PhysicalDevice(VkInstance inst,VkPhysicalDevice pd) hgl_zero(driver_properties); } - - InitFormatSupport(); } const uint32_t PhysicalDevice::GetExtensionSpecVersion(const UTF8String &name)const @@ -94,18 +92,6 @@ const bool PhysicalDevice::CheckMemoryType(uint32_t typeBits,VkMemoryPropertyFla return false; } -void PhysicalDevice::InitFormatSupport() -{ - VkFormatProperties *fp=format_properties; - - for(uint32 i=VK_FORMAT_BEGIN_RANGE;i<=VK_FORMAT_END_RANGE;i++) - { - vkGetPhysicalDeviceFormatProperties(physical_device,(VkFormat)i,fp); - - ++fp; - } -} - VkFormat PhysicalDevice::GetDepthFormat(bool lower_to_high)const { constexpr VkFormat depthFormats[] =