[[VK_IMG_filter_cubic]]
== VK_IMG_filter_cubic

*Name String*::
    +VK_IMG_filter_cubic+
*Extension Type*::
    Device extension
*Registered Extension Number*::
    16
*Status*::
    Final
*Last Modified Date*::
    2016-02-23
*Revision*::
    1
*Dependencies*::
  - This extension is written against version 1.0 of the Vulkan API.
*Contributors*::
  - Tobias Hector, Imagination Technologies
*Contacts*::
  - Tobias Hector (tobias.hector@imgtec.com)

+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 hardware.

=== New Enum Constants

  * Extending elink:VkFilter:
  ** ename:VK_FILTER_CUBIC_IMG

=== Example

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

[source,c++]
----------------------------------------
    VkSamplerCreateInfo createInfo =
    {
        VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO // sType
        // 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

