aboutsummaryrefslogtreecommitdiff
path: root/scripts/vulkaninfo_generator.py
AgeCommit message (Collapse)Author
2020-01-24vulkaninfo: remove duplicate flags/bitmasksCharles Giessen
Tooling info added flags for different purposes, however they let the debug utils, debug report and debug marker extensions use the same bitpos values for the same flags. The autogen didn't consider this possibly, and would output the flags multiple times. Changes to be committed: modified: scripts/vulkaninfo_generator.py modified: vulkaninfo/generated/vulkaninfo.hpp Change-Id: I7c7a648d9051f8ce2876083dfb0d2ddc2eb7ca95
2020-01-16vulkaninfo: Support VK_EXT_tooling_infoCharles Giessen
Added support for the VK_EXT_tooling_info. Files modified: modified: scripts/vulkaninfo_generator.py modified: vulkaninfo/generated/vulkaninfo.hpp modified: vulkaninfo/vulkaninfo.cpp modified: vulkaninfo/vulkaninfo.h Change-Id: I9fc4e239b37fdff9ecdba4bf947a0b5d57d06745
2020-01-15vulkaninfo: handle previous driver versionsCharles Giessen
Previously vulkaninfo assumed it would be run on a device with a matching version. Now the autogeneration detects the vulkan version and only reports extensions and versions supported by the device. It will also output the correct name according to the version. Much of the autogen script was modified. Vendor abbreviations were pulled into the autogen, dumping enums now adds the width so it is aligned, using the built in order of types to eliminate needing forward definitions, and dead code removal. Files modified: scripts/vulkaninfo_generator.py vulkaninfo/generated/vulkaninfo.hpp vulkaninfo/vulkaninfo.cpp Change-Id: Id05d909ead1950f1b80f6e44b6c163b3c2fed09a
2019-12-11vulkaninfo: reduced spurious warnings for msvcCharles Giessen
This commit removes several spurious wanings msvc would display, like implicit conversions for VkBool32 to bool and several signed/unsigned comparisons. Change-Id: Id485c044575105ec52fd49f9f0c5881674841a8e
2019-11-19vulkaninfo: check that extensions aren't disabledCharles Giessen
Previous versions of vulkainfo's autogen code didn't check if enums and bitmasks from extensions were disabled, possibly letting them leak into the generated code. This commit checks and skips any fields which aren't supported. File changed: scripts/vulkaninfo_generator.py Change-Id: I0e6fd9872d9377a17797cfcf6c2fbcee649e3657
2019-10-15vulkaninfo: Present Surfaces now wont show duplicatesCharles Giessen
If a machine has multiple surface types that work with the same gpu and have the same properties, vulkainfo will now list them in a short array instead of duplicating the entire surfaces information. To do this required being able to compare vulkan objects, necesitating the autogeneration of comparators for vulkan structs. This patch also refactors some of the device creation code to better reflect the actual data dependencies of the various vulkan objects. files modified - vulkaninfo/vulkaninfo.cpp - vulkaninfo/vulkaninfo.h - scripts/vulkaninfo_generator.py - vulkaninfo/generated/vulkaninfo.hpp Change-Id: Ifda51eacc3883982a6e2f7f60439827eb355c204
2019-10-07vulkaninfo: fix extra newlinesCharles Giessen
A slight oversight in the output meant there were extra newlines in pNext chain traversal. This makes sure only one newline is printer per item in the chain. files modified: - vulkaninfo/generated/vulkaninfo.hpp - scripts/vulkaninfo_generator.py Change-Id: I3b3cac55c3e90d0b3f59e70fab9c4f56473c6dd6
2019-10-04vulkaninfo: Major RefactorCharles Giessen
Rewrote vulkan info to use C++ and include autogen capabilities Properties and Features are now populated based on the xml spec Improved readability and robustness by seperating vulkan info gathering, formatting, and printing into seperate files Files Added: - scripts/generate_vulkaninfo.py - vulkaninfo/vulkaninfo.h - vulkaninfo/vulkaninfo.cpp - vulkaninfo/outputprinter.h - vulkaninfo/generated/vulkaninfo.hpp - vulkaninfo/generated/.clang-format Files Modified: - scripts/kvt_genvk.py - vulkaninfo/CMakeLists.txt - vulkaninfo/macOS/vulkaninfo.cmake Files Removed: - vulkaninfo/vulkaninfo.c Change-Id: I8042a6a7949595b75f03d1f3ba48e221d2cc0e8a