C.16. VK_KHR_sampler_mirror_clamp_to_edge

Name String
VK_KHR_sampler_mirror_clamp_to_edge
Extension Type
Device extension
Registered Extension Number
15
Status
Final
Last Modified Date
16/02/2016
Revision
1
Dependencies
  • This extension is written against version 1.0. of the Vulkan API.
Contributors
  • Tobias Hector, Imagination Technologies
Contacts

VK_KHR_sampler_mirror_clamp_to_edge extends the set of sampler address modes to include an additional mode (VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE) that effectively uses a texture map twice as large as the original image in which the additional half of the new image is a mirror image of the original image.

This new mode relaxes the need to generate images whose opposite edges match by using the original image to generate a matching “mirror image”. This mode allows the texture to be mirrored only once in the negative s, t, and r directions.

C.16.1. New Enum Constants

C.16.2. Example

Creating a sampler with the new address mode in each dimension

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

    createInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
    createInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
    createInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;

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

C.16.3. Version History

  • Revision 1, 2016-02-16 (Tobias Hector)

    • Initial draft