commit | a01cfc0b78dc7a2d14913b33b53a7420fabd73a3 | [log] [tgz] |
---|---|---|
author | Charles Giessen <charles@lunarg.com> | Tue Sep 12 16:18:02 2023 -0600 |
committer | Charles Giessen <46324611+charles-lunarg@users.noreply.github.com> | Tue Sep 12 17:06:33 2023 -0600 |
tree | e74acfc263514282cf32000a3558d0b63d50067b | |
parent | 45095e1b094ae45d4437ad516aaffbb499882d18 [diff] |
vulkaninfo: Support VK_EXT_surface_maintenance1 properly The struct VkSurfacePresentModeCompatibilityEXT and VkSurfacePresentScalingCapabilitiesEXT can only be included in the VkSurfaceCapabilities2KHR pNext chain if a VkSurfacePresentModeEXT struct is in the pNext chain for VkPhysicalDeviceSurfaceInfo2KHR. In other words, the autogen for this extension is not adequate and needs to be special cased. This is doubly true because the aformentioned structs are 'per-present-mode' so the output needs to handle printing each struct once per present mode available, which is not possible with autogenerated code currently. The easiest solution is to just remove the surface_maintenance1 structs from autogen in the pNext chain (but keep the autogenerated printing functions). Then setup the pNext chains appropriate and make the necessary calls, before printing the data directly.
This project provides Vulkan tools and utilities that can assist development by enabling developers to verify their applications correct use of the Vulkan API.
The following components are available in this repository:
Please see the CONTRIBUTING.md file in this repository for more details. Please see the GOVERNANCE.md file in this repository for repository management details.
BUILD.md includes directions for building all components as well as running the vkcube demo applications.
Updates to the Vulkan-Tools
repository which correspond to a new Vulkan specification release are tagged using the following format: v<
version
>
(e.g., v1.1.96
).
Note: Marked version releases have undergone thorough testing but do not imply the same quality level as SDK tags. SDK tags follow the sdk-<
version
>.<
patch
>
format (e.g., sdk-1.1.92.0
).
This scheme was adopted following the 1.1.96 Vulkan specification release.
This work is released as open source under a Apache-style license from Khronos including a Khronos copyright.
See LICENSE.txt for a full list of licenses used in this repository.
While this project has been developed primarily by LunarG, Inc., there are many other companies and individuals making this possible: Valve Corporation, funding project development; Google providing significant contributions to the validation layers; Khronos providing oversight and hosting of the project.