Vulkan-Profiles
Vulkan-Profiles copied to clipboard
Use XML Formats to generate test json files
Currently gen_profiles_tests.py
is setting the format feature bits randomly
It would be nice to have a "max value" version where each format has all the feature bits possible set. There will need to be some exceptions, here is my break down I think should work
- core (all formats could have)
- VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT
- VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT
- VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT
- VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT
- VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT
- VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
- VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT
- VK_FORMAT_FEATURE_2_BLIT_SRC_BIT
- VK_FORMAT_FEATURE_2_BLIT_DST_BIT
- VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT
- VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT
- VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT
- VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT
- VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT
- VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
- VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
- VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
- VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT
- VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
- depth stencil (if XML
<format>
has<component name="D"
or<component name="S"
)- VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT
- VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
- color (if not depth/stencil)
- VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT
- VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT
- YCbCr (if XML
<format>
has a<plane>
)- VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT
- VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
- VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
- VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT
- VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT
- VK_FORMAT_FEATURE_2_DISJOINT_BIT
- VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT
- video (probably all formats can have too)
- VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR
- VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR
- VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR
- VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR
Any Vendor Format Features can just be ignored IMO
I would only generate the VkFormatProperties3
too as it will be the super set of VkFormatProperties