// Copyright 2016-2021 The Khronos Group, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_KHR_imageless_framebuffer.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2018-12-14
*Interactions and External Dependencies*::
  - Promoted to Vulkan 1.2 Core
*Contributors*::
  - Tobias Hector
  - Graham Wihlidal

=== Description

This extension allows framebuffers to be created without the need for
creating images first, allowing more flexibility in how they are used, and
avoiding the need for many of the confusing compatibility rules.

Framebuffers are now created with a small amount of additional metadata
about the image views that will be used in
slink:VkFramebufferAttachmentsCreateInfoKHR, and the actual image views are
provided at render pass begin time via
slink:VkRenderPassAttachmentBeginInfoKHR.

=== Promotion to Vulkan 1.2

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

include::{generated}/interfaces/VK_KHR_imageless_framebuffer.txt[]

=== Version History

 * Revision 1, 2018-12-14 (Tobias Hector)
   - Internal revisions
