VK_IMG_filter_cubic

Other Extension Metadata

Last Modified Date

2016-02-23

Contributors
  • Tobias Hector, Imagination Technologies

Description

VK_IMG_filter_cubic adds an additional, high quality cubic filtering mode to Vulkan, using a Catmull-Rom bicubic filter. Performing this kind of filtering can be done in a shader by using 16 samples and a number of instructions, but this can be inefficient. The cubic filter mode exposes an optimized high quality texture sampling using fixed texture sampling functionality.

New Enum Constants

  • VK_IMG_FILTER_CUBIC_EXTENSION_NAME
  • VK_IMG_FILTER_CUBIC_SPEC_VERSION
  • Extending VkFilter:
    • VK_FILTER_CUBIC_IMG
  • Extending VkFormatFeatureFlagBits:
    • VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG

Example

Creating a sampler with the new filter for both magnification and minification

    VkSamplerCreateInfo createInfo =
    {
        .sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
        // Other members set to application-desired values
    };

    createInfo.magFilter = VK_FILTER_CUBIC_IMG;
    createInfo.minFilter = VK_FILTER_CUBIC_IMG;

    VkSampler sampler;
    VkResult result = vkCreateSampler(
        device,
        &createInfo,
        &sampler);

Version History

  • Revision 1, 2016-02-23 (Tobias Hector)
    • Initial version