aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2018-02-05scripts: Fix error if spirv-tools dir had no .git (#2346)Cort Stratton
external_revision_generator.py generates a UUID for VkValidationCacheEXT objects created by the layers, based on the commit ID of the HEAD revision in the spirv-tools repo used to build those layers. This implicitly required that the spirv-tools source is hosted in a Git repository, which is not the case in all validation layers build environments. The script has been modified to accept *either* a path to a Git working directory to query *or* a path to a file whose contents are SHA1-hashed (if necessary) and treated as the "commit ID" for the project. Call sites for the script in the CMake and Android build paths have been updated to use the --git_dir approach by default, which matches the pre-existing behavior.
2018-01-31layers: Improve doc validation init-list parsingJohn Zulauf
Change VALIDATION_ERROR_ parsing to correctly recognize error ids in initializer lists, including the formatting as done by clang-format. {VALIDATION_ERRROR_nnnn, ... VALIDATION_ERROR_nnnn} Change-Id: I25a1c0d0c9181ece458f7c83d2f184abea8d1f4a
2018-01-26icd: Add VK_KHR_push_descriptor to blacklistJohn Zulauf
As VK_KHR_get_physical_device_properties2 pNext structure queries are not implemented within mock_icd, VkPhysicalDevicePushDescriptorPropertiesKHR::maxPushDescriptors cannot be queried by the validation layers, causing numerous test failures when this limit is checked (in a subsequen commit). Added to ignore until such time it is correctly reported. Change-Id: I77b9a37c9ab2ce3e730b7fa6596e23ccc2be8d8c
2018-01-26layer: Add utility template for sType initJohn Zulauf
Add utility function to auto populate sType field based on typename given to autogen of typemap helper. Return value optimization (copy elision) should make this perfomance neutral vs. inline init. Change-Id: I231cf92d5063c19f9ad5b14189dd162fdac76a43
2018-01-23scripts: Exit from vuid_mapping.py with status 1 on errorsJean-François Roy
This patch modifies scripts/vuid_mapping.py to exit with status 1 on errors. This allows the build system to fail code generation rules that depend on this script. Change-Id: I5659ae80e1989ea7530c9257e7619a9b35cc7294
2018-01-17layers: Fix doc validation file list checkJohn Zulauf
The check for required files was counting the files multiple times and aborting silently. The check now correct counts files and exits with non-zero exit code on failure. Change-Id: I5b158f7cca0dd541571d95c00c3450139daf32c4
2018-01-17header: Update to version 1.0.68 of the Vulkan hdrMark Lobodzinski
- updated vulkan.h - updated vk.xml - updated layer json files - built and updated vulkan.hpp - updated vk_validation_error_messages.h - updated vk_validation_error_database.txt Change-Id: I5aff6147531f9b91164849ee590f7f86e46e4652
2018-01-09loader: Add pre-instance functions for layersLenny Komow
Allow implicit layers (not explicit) to intercept calls before an instance has been created. Change-Id: I41f5bb0f5a6314fbab8003ebe71059dd04afc860
2018-01-08scripts: Default doc validator to non-verbose modeMark Lobodzinski
Change-Id: Ib62e92a3b84609df55179e4868e5030a010f712f
2018-01-08scripts: Remove unused source_line_info.pyMark Lobodzinski
Change-Id: I1e8db79c88749a9c60469f01838dd1c485061528
2018-01-08header: Update to version 1.0.67 of the Vulkan hdrMark Lobodzinski
- updated vulkan.h - updated cgenerator.py - updated generator.py - updated reg.py - updated vk.xml - updated layer json files - updated vulkan.hpp - updated vuid_mapping.py - updated vk_validation_error_database.txt for spec changes, new VUIDs - updated vk_validation_error_messages.h Change-Id: Ifb67cf406aa82bf89e72ccfa4e1320cb3b199656
2018-01-05layers: Remove unique_objects ext list generationMark Lobodzinski
Change-Id: I9b958f1799f1cab76a69c4de35590745d3e7a852
2018-01-05layers: Create instance & device extension listsMark Lobodzinski
Added constant lists of device and instance extension names to vk_extension_helper.h. Change-Id: I4273aea866cbfea176a2631e04223ce92443caf0
2018-01-04icd: GetImageSubresourceLayout zeros passed layoutJohn Zulauf
Calling tests use return values from GetImageSubresourceLayout to compute offsets in texures. Zero'd values are safe for this usage and add minimal overhead to icd. Change-Id: If52cf240925d2f7a41bb22d87519a918be5eb60a
2018-01-04icd: Move include to header to fix clang buildKarl Schultz
Move include <string> to header file to fix clang build when using libstdc++. Fixes #2303 Change-Id: Id2fc97be7cb83fa12ee1495ef57177c0a7dad893
2018-01-02Proper decoding for msbuild version number readoutsaschawillems
2017-12-28layers: Fix git.bat fallback on Windows.Jamie Madill
This fixes the external revision generator script to first try to use 'git', then fall back to 'git.bat' if the first invocation throws a WindowsError.
2017-12-21scripts: Scan CWD in object tracker generator.Jamie Madill
This makes it more easy to locate a header in configs which have the CWD set to something less obvious. In Chrome's case the build directory is completely separated from the script directory. Also reset the CWD after the header is found to keep the build intact. This is similar to the change to the parameter validation generator.
2017-12-19build: Add clang-format checking of pull request changes to CIKarl Schultz
Check modified lines in a pull request for correct clang-format. Note that checking is not performed unless there is a pull request. Heavily leveraged from https://github.com/KhronosGroup/SPIRV-Tools.
2017-12-19layers: Ignore pImmutableSamplers on non-samplersPetr Kraus
2017-12-15scripts: Scan CWD in parameter validation script.Jamie Madill
This makes it more easy to locate the header in configs which have the CWD set to something less obvious. In Chrome's case the build directory is completely separated from the script directory. Also reset the CWD after the header is found to keep the build intact.
2017-12-15scripts: Prefer git.bat on Windows.Jamie Madill
Calling git.bat seems to work in every instance, whereas some installations don't have access to "git" directly.
2017-12-15layers: Fix Graphics Pipeline pointers not ignoredPetr Kraus
Some VkGraphicsPipelineCreateInfo pointers must be ignored under some conditions, but were not in the layers. Add relevant tests. Fix tests found broken (using depth or color without attachment in subpass)
2017-12-08layers: VS2013 compatibilityMike Schuchardt
Remove all usages of constexpr to restore compatibility with Visual Studio 2013. Also make a handful of other minor edits where the VS2013 compiler was reporting errors. Change-Id: I3c426bea460a4a902ab306b01deb1d76d60f5fa2
2017-11-28layers: validation_cache review feedbackCort Stratton
2017-11-28Fix build errors:Cort Stratton
- No more SPIRV-Tools revision file. Instead, the revision-parsing script just runs "git rev-parse HEAD" in the spirv-tools repository to extract the commit ID. - Invoke the revision-parsing script from the .sh Android scripts, in addition to the .bat scripts.
2017-11-28Use SPIRV-Tools commit ID as validation cache versionCort Stratton
2017-11-28header: Update to version 1.0.66 of the Vulkan hdrMark Lobodzinski
- update vulkan.h - update Lin/Win json file versions - update vk.xml - update vuid_mapping.py - update vk_validation_error_messages.h - update vk_validation_error_database.txt - update vulkan.hpp - fixed error in vk.xml, unofficially Change-Id: Ia719bc069cb776c5b174f41667d591b43aaaf4d7
2017-11-21scripts: Update toolchain revision check scriptMark Lobodzinski
No longer need to check spirv-tools or spirv-headers as they are now part of glslang. Change-Id: Ib3594d064d33a94d6443426e02a617c96b243893
2017-11-17icd:Increase WHOLE_SIZE mapped memoryTobin Ehlis
Bump hard-coded mapped memory allocation size for WHOLE_SIZE from 4k to 64k. One validation test (InvalidMemoryMapping) was mapping 64k of memory that was leading to segF as the 4k buffer was overwritten when shadowed.
2017-11-17icd:Expand mock icd memory type bit supportTobin Ehlis
Image/buffer memory requirement memoryTypeBits are still just hard- coded in mock icd, but expand to support more bits for more simulated memory types. This helps the mock work in conjunction with the devsim layer so that if a simulated device has more than 5 memory types, the mock icd won't cause an error.
2017-11-15scripts: Fix incorrect object type mappingsMark Lobodzinski
'Unknown' type was at the end of a couple of the lists, causing incorrect IDs to be emitted. Change-Id: I55cae6ecaff47977dca78e2f73468980f9450bda
2017-11-09layers: Don't confuse VkResult/VkBool32 in generators.Jamie Madill
In some cases, the generator would return the special error for validation failed for functions that return a VkBool32. Fix this, and also some cases of initializing a VkBool32 with VkResult. Change-Id: Icc071e647f293848d62a922d492ed41dfc5a4be1
2017-11-09layers: Make generator helpers Python 2 compatible.Jamie Madill
This is an easy compatiblity change, which uses a workaround to import a version of 'open' that can support unicode across Python versions. Affects the object tracker and parameter validation generators. Change-Id: Ie958dc64168db9e06b36321b4b6ad2336f995ea3
2017-11-09layers: Return an error when generator scripts fail.Jamie Madill
Currently the scripts would abort with an error message, but not an OS error code. Adding an error code allows build systems to correctly detect the script failure as a failed build step. Change-Id: I142a6215a3c02e6a880bfce0c3aba2c3c8fc4ff1
2017-11-06icd:Reduce offset alignment limitsTobin Ehlis
Buffer min offset alignments were set to the max value. Reduce them to 16 to simplify testing of offsets that are a multiple of the min alignment.
2017-11-06icd:Don't return support for Undefined FormatTobin Ehlis
2017-11-03layers: Refactored pNext chain walks to templateJohn Zulauf
The while loops for the walking the pNext chains were implemented by repeated code. These were refactored into a common template. Added autogenerated 'traits' objects for the pNext linked structs. Delete cut and paste duplicate pNext chain walk. Change-Id: I46457bb5432219c74f9356e5230c70e4a9ef16df
2017-11-02icd: thread protect mapsMike Stroyan
Lock to protect threaded access to queue_map and mapped_memory_map.
2017-10-31scripts:Cleanup comments and output for mock icdTobin Ehlis
Commented out a couple of debug output statements. Killed a bunch of comments and code that were carried over from original script but that are no longer relevant.
2017-10-30icd:Fixes for Windows buildTobin Ehlis
2017-10-30icd:Get more tests passing on mock ICDTobin Ehlis
Modifying hard-coded minImageTransferGranularity for the queue from {0,0,0}, which has special restrictions, to {1,1,1} which is more lenient and removes some unexpected errors, allowing six more tests to pass.
2017-10-30icd:Limit image properties for linear imagesTobin Ehlis
If an image is linear, return max mips, layers, and sample count of 1.
2017-10-30scripts:Skip some extensions in mock ICDTobin Ehlis
Mock ICD doesn't need to implement validation cache extension. Add simple list of excluded exceptions so we can kill any cases that we don't want in mock ICD. Initially only excludes validation cache.
2017-10-30icd: Adding generated mock icdTobin Ehlis
Initial check-in for mock icd which is being built to allow validation testing without the need for an actual Vulkan device. ICD is currently building and passing 324/332 tests. It creates ptr handles for dispatchable objects and unique id handles for non-dispatchable objects. It currently has some hard-coded values for various Get* device-query functions in order to allow forward progress. The long-term intention is to allow the device configuration to be set by the test itself. See the ICD README.md file for more info.
2017-10-30header: Update to version 1.0.65 of the Vulkan hdrMark Lobodzinski
- update vulkan.h - update vk.xml - update Win/Lin json file versions - update vk_validation_error_messages.h - update vk_validation_error_database.txt - update vulkan.hpp Change-Id: Ib20f1955df85a31069c9ffc69c3260973b2c6633
2017-10-24header: Update to version 1.0.64 of the Vulkan hdrMark Lobodzinski
- updated vulkan.h - updated vk.xml - updated Win/Lin json files - updated vk_validation_error_messages.h - updated vk_validation_error_database.txt - updated vulkan.hpp - updated vuid_mapping.py - updated cube.cpp for vulkan-hpp changes Change-Id: I79971c3b54feb1fdad5ea2257e4b1b4c6f9e3c3b
2017-10-23scripts: Update vuid_mapping.py for 64 headerMark Lobodzinski
Change-Id: I3f55bd5ee0296fc962bb2ee624391e793f8f9fe4
2017-10-19scripts: Remove asserts from struct size helpersJoey Bzdek
Unknown structures will return a 0 size instead of failing, in order for them to be ignored properly.
2017-10-10scripts: add get_struct_size helper functionDavid Pinedo
Change-Id: I12494a129ef8be68170dddf4efe6762f4051b116