// Copyright 2019-2024 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_EXT_image_robustness.adoc[]

=== Other Extension Metadata

*Last Modified Date*::
    2020-04-27
*IP Status*::
    No known IP claims.
*Contributors*::
  - Graeme Leese, Broadcom
  - Jan-Harald Fredriksen, ARM
  - Jeff Bolz, NVIDIA
  - Spencer Fricke, Samsung
  - Courtney Goeltzenleuchter, Google
  - Slawomir Cygan, Intel

=== Description

This extension adds stricter requirements for how out of bounds reads from
images are handled.
Rather than returning undefined values, most out of bounds reads return R,
G, and B values of zero and alpha values of either zero or one.
Components not present in the image format may be set to zero or to values
based on the format as described in <<textures-conversion-to-rgba,
Conversion to RGBA>>.

include::{generated}/interfaces/VK_EXT_image_robustness.adoc[]

=== Promotion to Vulkan 1.3

Functionality in this extension is included in core Vulkan 1.3, with the EXT
suffix omitted.
The original type, enum and command names are still available as aliases of
the core functionality.

=== Issues

1. How does this extension differ from VK_EXT_robustness2?

The guarantees provided by this extension are a subset of those provided by
the robustImageAccess2 feature of VK_EXT_robustness2.
Where this extension allows return values of (0, 0, 0, 0) or (0, 0, 0, 1),
robustImageAccess2 requires that a particular value dependent on the image
format be returned.
This extension provides no guarantees about the values returned for an
access to an invalid Lod.

=== Examples

None.

=== Version History

  * Revision 1, 2020-04-27 (Graeme Leese)
  * Initial draft
