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

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

=== Other Extension Metadata

*Last Modified Date*::
    2018-12-10
*IP Status*::
    No known IP claims.
*Contributors*::
  - Matthaeus G. Chajdas, AMD
  - Daniel Rakos, AMD

=== Description

This extension adds a new query to obtain PCI bus information about a
physical device.

Not all physical devices have PCI bus information, either due to the device
not being connected to the system through a PCI interface or due to platform
specific restrictions and policies.
Thus this extension is only expected to be supported by physical devices
which can provide the information.

As a consequence, applications should always check for the presence of the
extension string for each individual physical device for which they intend
to issue the new query for and should not have any assumptions about the
availability of the extension on any given platform.

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

=== Version History

  * Revision 2, 2018-12-10 (Daniel Rakos)
    - Changed all members of the new structure to have the uint32_t type
  * Revision 1, 2018-10-11 (Daniel Rakos)
    - Initial revision
