HORIZON HASKELLDocslts/ghc-9.14.x3e2d5682026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_QCOM_image_processing3

Name

VK_QCOM_image_processing3 - device extension

VK_QCOM_image_processing3

Name String

VK_QCOM_image_processing3

Extension Type

Device extension

Registered Extension Number

304

Revision

1

Ratification Status

Not ratified

Extension and Version Dependencies

VK_KHR_get_physical_device_properties2

or

Vulkan Version 1.1

API Interactions
  • Interacts with VK_QCOM_image_processing

SPIR-V Dependencies
Contact
Extension Proposal

VK_QCOM_image_processing3

Other Extension Metadata

Last Modified Date

2026-05-08

Interactions and External Dependencies
  • This extension provides API support for GL_QCOM_image_processing3

  • Interacts with VK_QCOM_tile_shading

  • Interacts with VK_QCOM_image_processing

  • Interacts with VK_QCOM_image_processing2

Contributors
  • Matthew Netsch, Qualcomm Technologies, Inc.

  • Jonathan Wicks, Qualcomm Technologies, Inc.

  • Liang Li, Qualcomm Technologies, Inc.

  • Wooyoung Kim, Qualcomm Technologies, Inc.

Description

This extension introduces a new SPIR-V built-in function to support predefined image gather operations used in popular image processing algorithms such as super resolution upscaling and contrast-adaptive sharpening.

The OpImageGatherQCOM instruction supports the following modes:

  • GatherH2QCOM - produces an image gather with an extra horizontal offset

  • GatherV2QCOM - produces an image gather with an extra vertical offset. Combined with OpImageGather and GatherH2QCOM, this is useful for creating a 12-tap filter for upscaling.

  • GatherDQCOM - produces an image gather by sampling the cardinal offsets. Combined with a point sample of the center texel, this is useful for creating a 5-tap sharpening filter (eg. CAS).

  • Gather4x1QCOM - produces an image gather by sampling 4 texels in a horizontal row. This is useful for kernels requiring vectorized loads, and can help with cache locality for linear access.

Each of the image processing instructions operate on the same sampled images that the OpImage*Gather instructions support with the exception of cube-maps, depth comparison, ConstOffsets, and sparse residency check.

Implementations of this extension should support these operations natively at the HW instruction level, offering potential performance gains as well as ease of development.

This extension also adds some block matching improvements over VK_QCOM_image_processing and VK_QCOM_image_processing2 by exposing more formats and wrap modes.

New Structures

New Enum Constants

If VK_QCOM_image_processing is supported:

New SPIR-V Capabilities

Version History

  • Revision 1, 2026-05-08 (Matthew Netsch)

See Also

No cross-references are available

Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

  • 3 types
  • Packagevulkan-3.27
  • Exports5
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_QCOM_image_processing3.hs

VkPhysicalDeviceImageProcessing3FeaturesQCOM - Structure describing image processing features that can be supported by an implementation

Members

This structure describes the following features:

Description

If the PhysicalDeviceImageProcessing3FeaturesQCOM structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a Device with any features described by PhysicalDeviceImageProcessing3FeaturesQCOM, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Structure Chaining

Extends the structures

See Also

VK_QCOM_image_processing3, Bool32, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero