vulkan-3.15: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_NV_corner_sampled_image

Description

Name

VK_NV_corner_sampled_image - device extension

VK_NV_corner_sampled_image

Name String
VK_NV_corner_sampled_image
Extension Type
Device extension
Registered Extension Number
51
Revision
2
Extension and Version Dependencies
  • Requires Vulkan 1.0
  • Requires VK_KHR_get_physical_device_properties2
Contact

Other Extension Metadata

Last Modified Date
2018-08-13
Contributors
  • Jeff Bolz, NVIDIA
  • Pat Brown, NVIDIA
  • Chris Lentini, NVIDIA

Description

This extension adds support for a new image organization, which this extension refers to as “corner-sampled” images. A corner-sampled image differs from a conventional image in the following ways:

This image organization is designed to facilitate a system like Ptex with separate textures for each face of a subdivision or polygon mesh. Placing sample locations at pixel corners allows applications to maintain continuity between adjacent patches by duplicating values along shared edges. Additionally, using the modified mipmapping logic along with texture dimensions of the form 2n+1 allows continuity across shared edges even if the adjacent patches use different level-of-detail values.

New Structures

New Enum Constants

Issues

  1. What should this extension be named?

    DISCUSSION: While naming this extension, we chose the most distinctive aspect of the image organization and referred to such images as “corner-sampled images”. As a result, we decided to name the extension NV_corner_sampled_image.

  1. Do we need a format feature flag so formats can advertise if they support corner-sampling?

    DISCUSSION: Currently NVIDIA supports this for all 2D and 3D formats, but not for cube maps or depth-stencil formats. A format feature might be useful if other vendors would only support this on some formats.

  2. Do integer texel coordinates have a different range for corner-sampled images?

    RESOLVED: No, these are unchanged.

  3. Do unnormalized sampler coordinates work with corner-sampled images? Are there any functional differences?

    RESOLVED: Yes. Unnormalized coordinates are treated as already scaled for corner-sample usage.

  4. Should we have a diagram in the “Image Operations” chapter demonstrating different texel sampling locations?

    UNRESOLVED: Probaby, but later.

Version History

  • Revision 1, 2018-08-14 (Daniel Koch)

    • Internal revisions
  • Revision 2, 2018-08-14 (Daniel Koch)

    • ???

See Also

PhysicalDeviceCornerSampledImageFeaturesNV

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.

Synopsis

Documentation

data PhysicalDeviceCornerSampledImageFeaturesNV Source #

VkPhysicalDeviceCornerSampledImageFeaturesNV - Structure describing corner sampled image features that can be supported by an implementation

Members

This structure describes the following feature:

Description

If the PhysicalDeviceCornerSampledImageFeaturesNV 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. PhysicalDeviceCornerSampledImageFeaturesNV can also be used in the pNext chain of DeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)

See Also

VK_NV_corner_sampled_image, Bool32, StructureType

Constructors

PhysicalDeviceCornerSampledImageFeaturesNV 

Fields

Instances

Instances details
Eq PhysicalDeviceCornerSampledImageFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_corner_sampled_image

Show PhysicalDeviceCornerSampledImageFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_corner_sampled_image

Storable PhysicalDeviceCornerSampledImageFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_corner_sampled_image

FromCStruct PhysicalDeviceCornerSampledImageFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_corner_sampled_image

ToCStruct PhysicalDeviceCornerSampledImageFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_corner_sampled_image

Zero PhysicalDeviceCornerSampledImageFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_corner_sampled_image

type NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME = "VK_NV_corner_sampled_image" Source #

pattern NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #