|
|
|
@ -45,6 +45,7 @@ VK_DEFINE_HANDLE(VmaAllocator) |
|
|
|
FEATURE(EXT, ExtendedDynamicState, EXTENDED_DYNAMIC_STATE, extended_dynamic_state) \ |
|
|
|
FEATURE(EXT, ExtendedDynamicState2, EXTENDED_DYNAMIC_STATE_2, extended_dynamic_state2) \ |
|
|
|
FEATURE(EXT, ExtendedDynamicState3, EXTENDED_DYNAMIC_STATE_3, extended_dynamic_state3) \ |
|
|
|
FEATURE(EXT, 4444Formats, 4444_FORMATS, format_a4b4g4r4) \ |
|
|
|
FEATURE(EXT, IndexTypeUint8, INDEX_TYPE_UINT8, index_type_uint8) \ |
|
|
|
FEATURE(EXT, LineRasterization, LINE_RASTERIZATION, line_rasterization) \ |
|
|
|
FEATURE(EXT, PrimitiveTopologyListRestart, PRIMITIVE_TOPOLOGY_LIST_RESTART, \ |
|
|
|
@ -97,6 +98,7 @@ VK_DEFINE_HANDLE(VmaAllocator) |
|
|
|
EXTENSION_NAME(VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME) \ |
|
|
|
EXTENSION_NAME(VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME) \ |
|
|
|
EXTENSION_NAME(VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME) \ |
|
|
|
EXTENSION_NAME(VK_EXT_4444_FORMATS_EXTENSION_NAME) \ |
|
|
|
EXTENSION_NAME(VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME) \ |
|
|
|
EXTENSION_NAME(VK_EXT_ROBUSTNESS_2_EXTENSION_NAME) \ |
|
|
|
EXTENSION_NAME(VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME) \ |
|
|
|
@ -144,6 +146,7 @@ VK_DEFINE_HANDLE(VmaAllocator) |
|
|
|
#define FOR_EACH_VK_RECOMMENDED_FEATURE(FEATURE_NAME) \ |
|
|
|
FEATURE_NAME(custom_border_color, customBorderColors) \ |
|
|
|
FEATURE_NAME(extended_dynamic_state, extendedDynamicState) \ |
|
|
|
FEATURE_NAME(format_a4b4g4r4, formatA4B4G4R4) \ |
|
|
|
FEATURE_NAME(index_type_uint8, indexTypeUint8) \ |
|
|
|
FEATURE_NAME(primitive_topology_list_restart, primitiveTopologyListRestart) \ |
|
|
|
FEATURE_NAME(provoking_vertex, provokingVertexLast) \ |
|
|
|
@ -488,6 +491,11 @@ public: |
|
|
|
return extensions.extended_dynamic_state3; |
|
|
|
} |
|
|
|
|
|
|
|
/// Returns true if the device supports VK_EXT_4444_formats. |
|
|
|
bool IsExt4444FormatsSupported() const { |
|
|
|
return features.format_a4b4g4r4.formatA4B4G4R4; |
|
|
|
} |
|
|
|
|
|
|
|
/// Returns true if the device supports VK_EXT_extended_dynamic_state3. |
|
|
|
bool IsExtExtendedDynamicState3BlendingSupported() const { |
|
|
|
return dynamic_state3_blending; |
|
|
|
|