blob: c9c449ea63a34fe0fb12b9f9448f29b6e50d78e6 [file] [log] [blame]
// Copyright (c) 2017-2020 Advanced Micro Devices, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
include::{generated}/meta/{refprefix}VK_AMD_texture_gather_bias_lod.txt[]
=== Other Extension Metadata
*Last Modified Date*::
2017-03-21
*IP Status*::
No known IP claims.
*Interactions and External Dependencies*::
- This extension requires
{spirv}/AMD/SPV_AMD_texture_gather_bias_lod.html[`SPV_AMD_texture_gather_bias_lod`]
*Contributors*::
- Dominik Witczak, AMD
- Daniel Rakos, AMD
- Graham Sellers, AMD
- Matthaeus G. Chajdas, AMD
- Qun Lin, AMD
- Rex Xu, AMD
- Timothy Lottes, AMD
=== Description
This extension adds two related features.
Firstly, support for the following SPIR-V extension in Vulkan is added:
* `SPV_AMD_texture_gather_bias_lod`
Secondly, the extension allows the application to query which formats can be
used together with the new function prototypes introduced by the SPIR-V
extension.
include::{generated}/interfaces/VK_AMD_texture_gather_bias_lod.txt[]
=== New SPIR-V Capabilities
* <<spirvenv-capabilities-table-ImageGatherBiasLodAMD,
code:ImageGatherBiasLodAMD>>
=== Examples
[source,c++]
--------------------------------------
struct VkTextureLODGatherFormatPropertiesAMD
{
VkStructureType sType;
const void* pNext;
VkBool32 supportsTextureGatherLODBiasAMD;
};
// ----------------------------------------------------------------------------------------
// How to detect if an image format can be used with the new function prototypes.
VkPhysicalDeviceImageFormatInfo2 formatInfo;
VkImageFormatProperties2 formatProps;
VkTextureLODGatherFormatPropertiesAMD textureLODGatherSupport;
textureLODGatherSupport.sType = VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
textureLODGatherSupport.pNext = nullptr;
formatInfo.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
formatInfo.pNext = nullptr;
formatInfo.format = ...;
formatInfo.type = ...;
formatInfo.tiling = ...;
formatInfo.usage = ...;
formatInfo.flags = ...;
formatProps.sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
formatProps.pNext = &textureLODGatherSupport;
vkGetPhysicalDeviceImageFormatProperties2(physical_device, &formatInfo, &formatProps);
if (textureLODGatherSupport.supportsTextureGatherLODBiasAMD == VK_TRUE)
{
// physical device supports SPV_AMD_texture_gather_bias_lod for the specified
// format configuration.
}
else
{
// physical device does not support SPV_AMD_texture_gather_bias_lod for the
// specified format configuration.
}
--------------------------------------
=== Version History
* Revision 1, 2017-03-21 (Dominik Witczak)
- Initial draft