Top Description Fields Constructors Methods
org.lwjgl.vulkan

public final Class QCOMImageProcessing

extends Object
Class Inheritance

GPUs are commonly used to process images for various applications from 3D graphics to UI and from composition to compute applications. Simple scaling and filtering can be done with bilinear filtering, which comes for free during texture sampling. However, as screen sizes get larger and more use cases rely on GPU such as camera and video post-processing needs, there is increasing demand for GPU to support higher order filtering and other advanced image processing.

This extension introduces a new set of SPIR-V built-in functions for image processing. It exposes the following new imaging operations

Each of the image processing instructions operate only on 2D images. The instructions do not-support sampling of mipmap, multi-plane, multi-layer, multi-sampled, or depth/stencil images. The instructions can be used in any shader stage.

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

VK_QCOM_image_processing
Name String
VK_QCOM_image_processing
Extension Type
Device extension
Registered Extension Number
441
Revision
1
Extension and Version Dependencies
VK_KHR_format_feature_flags2
Contact
Extension Proposal
VK_QCOM_image_processing
Other Extension Metadata
Last Modified Date
2022-07-08
Interactions and External Dependencies
Contributors
  • Jeff Leger, Qualcomm Technologies, Inc.
  • Ruihao Zhang, Qualcomm Technologies, Inc.

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
public static final long
VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM

Extends VkFormatFeatureFlagBits2.

public static final long
VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM

Extends VkFormatFeatureFlagBits2.

public static final long
VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM

Extends VkFormatFeatureFlagBits2.

public static final long
VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM

Extends VkFormatFeatureFlagBits2.

public static final int
VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM

Extends VkImageUsageFlagBits.

public static final int
VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM

Extends VkImageUsageFlagBits.

public static final String
public static final int
VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION

The extension specification version.

public static final int
VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM

Extends VkSamplerCreateFlagBits.

public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOMback to summary
public static final int VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM

Extends VkDescriptorType.

Enum values:
VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOMback to summary
public static final int VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM

Extends VkDescriptorType.

Enum values:
VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOMback to summary
public static final long VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM

Extends VkFormatFeatureFlagBits2.

Enum values:
VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOMback to summary
public static final long VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM

Extends VkFormatFeatureFlagBits2.

Enum values:
VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOMback to summary
public static final long VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM

Extends VkFormatFeatureFlagBits2.

Enum values:
VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOMback to summary
public static final long VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM

Extends VkFormatFeatureFlagBits2.

Enum values:
VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOMback to summary
public static final int VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM

Extends VkImageUsageFlagBits.

Enum values:
VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOMback to summary
public static final int VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM

Extends VkImageUsageFlagBits.

Enum values:
VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAMEback to summary
public static final String VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME

The extension name.

VK_QCOM_IMAGE_PROCESSING_SPEC_VERSIONback to summary
public static final int VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION

The extension specification version.

VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOMback to summary
public static final int VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM

Extends VkSamplerCreateFlagBits.

VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOMback to summary
public static final int VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOMback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOMback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM

Extends VkStructureType.

Enum values:

Constructor Detail

QCOMImageProcessingback to summary
private QCOMImageProcessing()