added line_rasterization in VKDevice.h/VKDeviceCreater.cpp

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-05-10 21:56:32 +08:00
parent 459fb3afc4
commit f46b1382ee
2 changed files with 6 additions and 0 deletions

View File

@ -48,6 +48,7 @@ struct VulkanHardwareRequirement
bool multi_draw_indirect; ///<要求支持MultiDrawIndirect
bool wide_lines; ///<要求支持宽线条
bool line_rasterization; ///<要支持线条特性
bool large_points; ///<要求支持绘制大点
bool texture_cube_array; ///<要求支持立方体数组纹理

View File

@ -51,6 +51,9 @@ namespace
if(physical_device->CheckExtensionSupport(ext_name))
ext_list->Add(ext_name);
if(require.line_rasterization)
ext_list->Add(VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME);
if(require.texture_compression.pvrtc) //前面检测过了,所以这里不用再次检测是否支持
ext_list->Add(VK_IMG_FORMAT_PVRTC_EXTENSION_NAME);
}
@ -623,6 +626,8 @@ bool RequirementCheck(const VulkanHardwareRequirement &require,const GPUPhysical
if(require.dynamic_state[1]&&(!pd->CheckExtensionSupport(VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME )))return(false);
if(require.dynamic_state[2]&&(!pd->CheckExtensionSupport(VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME )))return(false);
if(require.line_rasterization&&(!pd->CheckExtensionSupport(VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME)))return(false);
return(true);
}