aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2018-06-22scripts: repair and update validation_stats.pyDave Houlton
Parses validation headers registry file 'validusage.json', layer source code and layer test code and reports various statistics and consistency checks. Deletes the checked-in error database file vk_validation_error_database.txt in favor of the ability to generate an up-to-date version on demand. Change-Id: I604b972cbb3c6954d8f321ec9e9c214455e38765
2018-06-21scripts: Remove deprecated scriptsMark Lobodzinski
kill: - spec.py - vuid_mapping.py - determine_vs_version.py - check_toolchain_revisions.sh
2018-06-21scripts: Remove vuid_mapping ref from common_codegenMark Lobodzinski
2018-06-20layers: Output 'parameter' implicit VUs for structsMark Lobodzinski
Added this implicit vuid check to validate_struct_type checks.
2018-06-20layers: Add CreateInstance/Device pNext validationMark Lobodzinski
These were skipped due to some heinous loader features. They're now guarded against and validation can go free and easy.
2018-06-20layers: Pick up stype-array check vuidsMark Lobodzinski
Accounted for another dozen-and-a-half checks. Change-Id: I7b01bc8fb45edd3130d40769b242272a8e5ab6e4
2018-06-20layers: Pick up struct validation idsMark Lobodzinski
Add check for valid substructs embedded in substructs -- another twenty checks or so. Change-Id: I4bf4bf9b118080d48503984fe1bae8e804a27862
2018-06-20layers: Pick up VUIDs for structure integrity checksMark Lobodzinski
Each API call that has structures as a parameter should get credit for validating that the structure is valid. Picked up ~150 additional VUs here. Change-Id: I018b29ff2d4c79ed08d6df462b620f0631426672
2018-06-20layers: Add pNext-chain-only structs to PV codegenMark Lobodzinski
Structs accessed exclusively through pNext chains were not validated. Added this functionality, picked up about 90 VUIDs. Change-Id: Iefaecb14d5c1941352f675e38c9dd878730b1adb
2018-06-08layers: Fix bugs of display queries in unique_objectsPetr Kraus
- remove duplicate include - `currentDisplay` in `vkGetPhysicalDeviceDisplayPlaneProperties` may be `VK_NULL_HANDLE` - `vkGetDisplayPlaneSupportedDisplays` did not account for `VK_INCOMPLETE` - `vkGetDisplayPlaneCapabilitiesKHR` can be handled by generated code
2018-06-06layers: Update to 1.1.76 headerMike Schuchardt
Add unique objects wrappers for - GetPhysicalDeviceDisplayProperties2KHR - GetPhysicalDeviceDisplayPlanePropertiesKHR - GetPhysicalDeviceDisplayPlaneProperties2KHR - GetDisplayModeProperties2KHR Move VK_KHR_display functions from interface_functions no_autogen_list so they get added to the dispatch table Remove #ifndef __ANDROID__ around VK_KHR_display functions Update vulkan-headers_revision_android revision to 1.1.76 Change-Id: I924tc35b3075bfac4ca64249c5bf66d3c32a5b60b
2018-06-05docs: Update linksMark Young
Update doc links to new repos. Change-Id: I9e1764d616596bd7e14ac08ba7dbee72c5265099
2018-06-04scripts: Require -json-file parm on spec.py scriptMark Lobodzinski
Change logic and help output to clarify that this parameter is no longer optional.
2018-06-04build: Switch to using FindFulkanHeadersMark Lobodzinski
Vulkan-Headers was a submodule, and is now an external dependency. Switch repo to use the external location and disconnected the submodule.
2018-05-29layers: object tracker const refsDave Houlton
Change-Id: I564ab12eda5ce25104e47ecd0b2052e2fc2cb5b8
2018-05-29layers: switch obj tracker to use text VUIDsDave Houlton
Swap all VU enums for the spec-derived text VUs. Update object_tracker_generator.py to build an object_tracker.cpp that uses text VUIDs instead of enums. The script validates vuid strings directly from validusage.json file. Removes dependency on vuid_mapping.py and vk_validation_error_messages.h. Change-Id: I32a209083110200eb16ce1d26fc1d19926759ca4
2018-05-29layers: switch param val to use text VUIDsDave Houlton
Swap all VU enums for the spec native text VUIDs Update parameter_validation_generator.py to build parameter_validation.cpp with text VUs instead of enums. Text VUIDs are validated against validusage.json. Removes dependancy on vuid_mapping.py and vk_validation_error_messages.h. Change-Id: I8489fa13bb13e62cc2a3e4cf4d40edd142ca945f
2018-05-24layers: Make validation error maps non-staticJohn Zulauf
In order to address compile/runtime issues, the large validation tables are now generated such that the declaration and implementation are separate. Change-Id: I3e9327e8d2c5427f2bfc93266cdfb8edc0339a12
2018-05-24scripts: Fix typo in test result parserWilliam Henning
This validation tests print "TEST SKIPPED:" when a test is skipped, but the script was looking for "TEST_SKIPPED:".
2018-05-23header: Update to 1.1.75Mike Schuchardt
- Update Vulkan-Headers submodule to 1.1.75 - Update vuid_mapping.py with new structure ids - Stop helper_file_generator.py from generating bogus VkStructureType values for VkBase(In|Out)Structure Change-Id: I03cea69e15866cfb44dbaae1d1b85bba3b05f643
2018-05-22scripts: Remove local copy of validusage.jsonMark Lobodzinski
Replaced by registry verison in Vulkan-Headers submodule.
2018-05-22scripts: Switch to registry copy of validusage.jsonMark Lobodzinski
Replaces to-be-deleted local copy in the scripts dir.
2018-05-22scripts: Remove local copy of vk.xmlMark Lobodzinski
Replaced by the version in the Vulkan-Headers submodule.
2018-05-22scripts: Remove old copies of registry filesMark Lobodzinski
These are replaced by versions included in Vulkan-Headers.
2018-05-22scripts: Use registry files from Vulkan-HeadersMark Lobodzinski
The registry files reg.py, generator.py, and cgenerator.py are now used by the repo build scripts, in place of the old ones in the local scripts directory.
2018-05-18tests: Added skip messages to testsWilliam Henning
Went through all the tests in layer_validation_tests and added skip messages to all tests that conditionally skip their checks. Additionally, added the prefix "TEST_SKIPPED" to all the skip messages so that they can easily be parsed. Also added a script that looks parses the output of all the tests and prints a short summary of which tests were skipped on every device profile and which tests print unexpected output.
2018-05-18scripts:Remove ICD scriptTobin Ehlis
Mock ICD generator shouldn't be in Layers repo. It's in tools repo now.
2018-05-11layers: Add from_uuid option to ext_rev_generatorMark Lobodzinski
It will not be unusual to build the repo while pointing to a spirv- tools installation without git information. Modified the script and layer cmake files to use a UUID as the basis for the spirv tools commit id header file.
2018-05-11scripts: Remove unused generators from lvl_genvk.pyMark Lobodzinski
Change-Id: Ib9737887698073c476835755a20d516067007eb0
2018-05-11icd:Add GPDP2 support for descriptor indexingTobin Ehlis
Set some default mock icd values for vkGetPhysicalDeviceProperties2 query of VkPhysicalDeviceDescriptorIndexingPropertiesEXT props.
2018-05-11icd:Add support for extended features queriesTobin Ehlis
Update mock ICD generator so that if we have an extension that's been promoted to core, the core version will call any existing custom implementation of the extension function. Update Features query to detect the two existing extension structs (VkPhysicalDeviceDescriptorIndexingFeaturesEXT and VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT) and enable all of those features when those queries are present.
2018-05-04layers: Track display and display mode objectsShannon McPherson
Add VkDisplayKHR and VkDisplayModeKHR tracking to VK_LAYER_LUNARG_object_tracker. Change-Id: I63004cfe734793593bea12700ea9cd1bdefeab0d
2018-05-04layers: Fix down-chain null funcptr crashesMark Lobodzinski
Modified dispatch table helper to replace null device extension function pointers with an appropriate stub function. Change-Id: If5e22333f084d3f41c0eefdf3e82c9060b872e8c
2018-04-27layers: Add missing promoted device extensionsJohn Zulauf
Add three missing device extensions to promoted device extensions list in vk_extension_helper codegen. VK_KHR_relaxed_block_layout VK_KHR_shader_draw_parameters VK_KHR_storage_buffer_storage_class Change-Id: I392155d318ca580e576436ef46695218e5eb446e
2018-04-27layers: Sort promoted extensions listJohn Zulauf
For ease of maintenance, sort the promoted extension lists. Change-Id: Ib1d690d55c6b9c3a156c9682fbe96bbebed17c14
2018-04-25layers: Add dependency info to vk_extension_helperJohn Zulauf
Add additional metadata to *Extensions structs to enable extension dependency validation at CreateInstance CreateDevice time. Refactor the code generator for the extension helper prior to refactoring the generated code to address an incomplete. Change-Id: I79ae680d9c41f1f153ee8108d4deac8ec8c5a886
2018-04-25layers: Refactor codegen for vk_extension_helperJohn Zulauf
Refactor vk_extension helper prior to adding extension dependency information to code gen. Refactor to simplify feature addition. Change-Id: I7b2902dd1a4070c83810f57c0836b50cb6ecfb86
2018-04-25layers: Sort extension order for extension helperJohn Zulauf
Sorted the extensions by name s.t. the output of the vk_extension_helper generator would be consistent run-to-run. Change-Id: Ief3d822b91260e469f7f2d563076d8a79f1a1bf0
2018-04-24header: Update to version 1.1.74 of Vulkan hdrMark Lobodzinski
- update layer json files - update vulkan_core.h - update vk.xml - update vulkan.hpp - update validusage.json - update vk_validation_error_messages.h - update vk_validation_error_database.txt - maintain local changes to reg.py Change-Id: If0c52d13f78ddfcc7c9d316386c0d20399e97668
2018-04-19scripts: Add spec.py check for ext changesMike Schuchardt
When the surrounding asciidoctor conditionals of a VUID change it may impact validation even if the VUID text does not change. Detect this in spec.py and flag for manual intervention. Change-Id: Idf802955ba9bbfe911edd4114fb28bdddf5fcc9b
2018-04-18scripts:Account for extnumber key to fix warningsTobin Ehlis
With the addition of the 'extnumber' key update comparison to skip over the extnumber as well as extname in order to avoid a bunch of irrelevant warnings.
2018-04-16header: Update to version 1.1.73 of the Vulkan hdrMark Lobodzinski
- update json files - update vk.xml - update vulkan_core.h - update validusage.json - update vk_validation_error_messages.h - update vk_validation_error_database.txt - update vulkan.hpp - removed checks for the following deprecated VUIDs related to ImageCreateInfo and FormatProperties: - VALIDATION_ERROR_09e007ae - VALIDATION_ERROR_09e007b4 - VALIDATION_ERROR_09e007ac - VALIDATION_ERROR_09e007a6 - VALIDATION_ERROR_09e007b2 - VALIDATION_ERROR_09e007a4 - VALIDATION_ERROR_09e007aa - VALIDATION_ERROR_09e007a8 - VALIDATION_ERROR_09e007a2 - VALIDATION_ERROR_09e007b0 - modified CreateImageFormatSupportErrors test to remove killed checks - modified ImageLayerUnsupportedFormat test to remove killed check Change-Id: I8f1577747d87fdeb6f68b9db0340443a83c44630
2018-04-16icd:Add new physical device query funcs to ICDTobin Ehlis
Add mock ICD support for vkGetPhysicalDeviceSurfacePresentModesKHR, vkGetPhysicalDeviceSurfaceFormats[2]KHR, vkGetPhysicalDeviceSurfaceSupportKHR, vkGetPhysicalDeviceSurfaceCapabilities[2]KHR, vkGetSwapchainImagesKHR and vkAcquireNextImagesKHR.
2018-04-12scripts: Add commit message format checkerMark Lobodzinski
Change-Id: I94efe0326e3f68e19af605a1ff381da59d2d7d1d
2018-04-06scripts: exclude vulkan headers from clang-formatMike Schuchardt
Travis CI shows linux build failure on every header update because upstream Vulkan-Docs files are not formatted with the clang-format style of this repo. This change excludes the vulkan headers directory from the CI clang-format check. Change-Id: I6d1bee486d06b690f65aa2c3098de14f3c5931c9
2018-04-06header: Update to version 1.1.72 of the Vulkan hdrMark Lobodzinski
- updated layer json files - updated vulkan_core.h - updated validusage.json - updated vk_validation_error_database.txt - updated vk_validation_error_messages.h - updated vuid_mapping.py - updated vk.xml - updated vulkan.hpp - moved vuid 1ae00652 to 1ae00f06 Change-Id: Id6ba342841cca04c0669b7feb39d82e2b8052443
2018-04-05scripts: Output vuid-string->message mapMark Lobodzinski
Change-Id: Id4123053da62fb8d2b4d32393d11e4aa6c030f92
2018-04-05layers: Add checks for CreateDescriptorUpdateTemplJohn Zulauf
Added four validation checks for vkCreateDescriptorUpdateTemplate(KHR) and removed a false positive. VALIDATION_ERROR_052002bc VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00350 VALIDATION_ERROR_052002be VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00351 VALIDATION_ERROR_052002c0 VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00352 VALIDATION_ERROR_052002c2 VUID-VkDescriptorUpdateTemplateCreateInfo-templateType-00353 Updated autogen of object tracker s.t. that logic for noautovalidation handles matches parameter validation, and spec generation, eliminating a source of false positives. Change-Id: Ib831eabd45a5083168355bca6b0e2beda3a76222
2018-04-04layers: Avoid reading pointer to array when count is zeroGabríel Arthúr Pétursson
Take for example VkSubmitInfo. It has, amongst others, two fields: waitSemaphoreCount and pWaitSemaphores. The specification states that if waitSemaphoreCount is zero, the application may leave pWaitSemaphores uninitialized (in essence, that field is ignored). The layers read that value anyway, triggering uninitialized read errors by memory sanitization tools. Fixes uninitialized read in QueueSubmitSemaphoresAndLayoutTracking.
2018-04-04layers: Destroy object tracking after reporting undestroyed objectsGabríel Arthúr Pétursson
Fixes a memleak in VkLayerTest.LeakAnObject.