aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2017-06-12scripts:Add includes to extension helperTobin Ehlis
Generated extension helper has dependencies on vulkan.h and utility (for std::pair) that weren't declared.
2017-06-09layers: Unique objects GPA handling updatesMark Lobodzinski
Change-Id: Id14c4b5ecb96eed9091ee13aceeb1701adb1f511
2017-06-09scripts:Add header protection to dispatch helperTobin Ehlis
2017-06-09layers: Make PV GPA handling more consistentMark Lobodzinski
Change-Id: I28d4642ca924928b9a76d6ddeb3a4e9ef106710b
2017-06-09layers: Simplify threadchecker GPA handlingMark Lobodzinski
Change-Id: I11cdc2f6524926714d22abd08fba0a670a3a4a97
2017-06-06layers: Unify extension enable trackingMark Lobodzinski
Switch parameter validation code-generated extension dependency checks to use the existing data in vk_extension_helper.h. Change-Id: I6e3c83f68430c1d3de915e05a84944782b4a55a2
2017-06-06scripts: Add codegen for vk_extension_helper.hMark Lobodzinski
This file replaces device_extensions.h and will help to unify extension enable handling across the validation layers. Change-Id: I00eb187423e5d912bae64c0e026f34496be185de
2017-06-06scripts: Add generator options for extension helperMark Lobodzinski
Change-Id: Ice9f1361c56de3cc342dd40a589580f4565bbc9e
2017-06-05header: Update to 1.0.51 Vulkan versionMark Lobodzinski
- updated include/vulkan/vulkan.h - updated scripts/vk.xml - updated layers json files - updated tests json files - built and included new vulkan.hpp file Change-Id: I4f1d5609c8377047165e2ba14e89cba9877436db
2017-06-02loader: Add emulation for EXT inst extensionsLenny Komow
Change-Id: I481ff8a2ae0ec5a82773fddd2b59c750126adc11
2017-05-31Layers: Implement PV per-API ext dependency checksMark Lobodzinski
As each API is used, PV will now us a code-generated check to verify that all of the required extensions for this particular API call have been enabled via CreateInstance or CreateDevice. Change-Id: I1c11d0b8322edf005b2b197a415c92a82e0cb810
2017-05-31layers: Pass layer data into PV validation functionsMark Lobodzinski
Previously just passed in report data, but need access to more stuff. Change-Id: I2af7b2ae73d3e2ecd3409f32e8f1a42e5e736d8c
2017-05-31Layers: Add code-gen'd calls to val extsMark Lobodzinski
Modified PV code gen to insert and make calls to validate extension dependencies. Change-Id: I90103b16d36fb868b32df796b1dae7741dfcba34
2017-05-31layers: PV code gen for FlagBits enum parametersMike Schuchardt
Extend validate_flags to work in instances where a single Vk*FlagBits enum value is valid instead of a bitmask with multiple values. Change-Id: Ib8d34551923f7ecb2549500dfde674fa1094ac8b
2017-05-31loader: Emulate surface capabilities 2Lenny Komow
Add loader emulation for VK_KHR_get_surface_capabilities2 commands Change-Id: I1de99d1bc94d6ec1191601e75b79c5c32fa81fdc
2017-05-30layers: Add VkObjectType conversionMark Young
Add conversion from VulkanObjectType internal enum to the VkObjectType core enumeration. Change-Id: I17158722faffaf088e07219a5bf596ee02d2338e
2017-05-23loader: Fix extension surface paramsLenny Komow
Change-Id: I310d6d356b5c9377ff8285ee123def989e95b142
2017-05-23header: Update to 1.0.50 Vulkan versionMark Lobodzinski
- updated include/vulkan/vulkan.h - updated scripts/vk.xml - updated layers json files - updated tests json files - build new verison of vulkan.hpp - code fixups for deprecated DebugReportError enum Note that this does NOT include any shader-checker support for the VK_AMD_texture_gather_bias_lod extension, as this requires glslang and SPIR-V updates. Change-Id: Ie01aed143f2fad065c86e2a27e46fe32ccb9e1f7
2017-05-15header: Update to 1.0.49 Vulkan versionMark Lobodzinski
- updated include/vulkan/vulkan.h - updated scripts/vk.xml - updated layers json files - updated tests json files - updated vulkan.hpp -- NOTE: includes workaround for mishandled extension API - updated parameter validation layer with new APIs Change-Id: I0b65065e1a0355c18c4a5eafdb0b3d218af6ff91
2017-05-11layers: Fix unique_objects_wrappers.hMark Young
The unique_objects_wrappers.h header was generated with code that caused several compilation warnings. This resolves those warnings. Change-Id: I5ed3bdb6bbe7df48b3fe6fb6679916161b32fdfd
2017-05-10loader: Add basic phys dev props emulationLenny Komow
Add the ability for the loader to emulate the commands in VK_KHR_get_physical_device_properties2. This will only be used when using multiple physical devices where only one supportes the ext. Change-Id: I596c8ee9eea5e5136e5b478508abb21c5d8ad5a1
2017-05-08loader: gh1661 - Phys dev exts not loadingLenny Komow
Fix a bug whereby commands from physical device extensions were not being written to the instance extension dispatch table, preventing their terminators from ever being run. Change-Id: I38dab0ae6463674f2a1f572bc0ee1eebe8d0dd13
2017-05-05loader: gh1693 - GPDA override not usedMark Young
In some situations, the loader wouldn't directly use the GetInstanceProcAddr or GetDeviceProcAddr function overrides directly. Instead, the loader would call vkGetInstanceProcAddr with an argument of "vkGetInstanceProcAddr" and vkGetDeviceProcAddr with an argument of "vkGetDeviceProcAddr". This short-cuts that. NOTE: Layers still need to support these queries because if another layer is above you, it may call "vkGetInstanceProcAddr" with to get "vkGetDeviceProcAddr". Change-Id: I810945f45121d42d23b69d0b3334d6bad3a8ed2f
2017-05-03layers: Don't generate T* = reinterpret_cast(T*) new T()Chris Forbes
No need for the cast, these types already line up.
2017-05-03layers: use Unwrap in UO codegenChris Forbes
2017-05-03layers: use WrapNew in UO codegenChris Forbes
2017-05-03layers: hold UO dispatch tables by value in layer_dataChris Forbes
Trims out some allocations; fixes leak of dispatch tables
2017-05-03layers: UO: split device and instance dataChris Forbes
2017-04-22layers: Change obj type conversion routine nameMark Lobodzinski
Change-Id: I3b4208ca3777ac46b2c5ab2839c268ed4381a2ac
2017-04-22scripts: Make object string conversion array constMark Lobodzinski
Prevents unused var warnings by changing to be a constant. Change-Id: Ie8f6cc837dd589074ae2278de34d4bd0a3e66236
2017-04-17header: Update to 1.0.48 Vulkan versionMark Lobodzinski
- updated include/vulkan/vulkan.h - updated scripts/vk.xml - updated layers json files - updated tests json files - updated vulkan.hpp Change-Id: I90407d181ad6a4652e1d1f210ee9b9d21c7857b0
2017-04-18layers: Special-case UO generation of QueuePresentKHRChris Forbes
VkPresentInfo::pResults is an /output/ array. The generated code makes a copy on the way in (pointlessly, but other clients of safe_* might find this reasonable), but neglects to copy it back on the way out. Lift the current code generated for QueuePresentKHR back into the special cases, and add the correct post-call copy. Fixes #1670. V3: Just open-code the loop. I don't want to turn off MSVC's fussy mode, and it's convinced both std::copy and std::copy_n are unsafe with all raw pointers. Signed-off-by: Chris Forbes <chrisforbes@google.com>
2017-04-13scripts: Convert ugly case statment to nice arrayMark Lobodzinski
Since this was codegen'd, we can just create a static array for the object type conversion and do away with all of the switch statement mess. Change-Id: I5fb20778d64f0675afa9c1563e2d44d22d5b4a02
2017-04-13scripts: Add object type string helper funcMark Lobodzinski
Also fixed a bug with the object type names. Change-Id: Iea3c89a2e53266704aff0727296cce0e460195ce
2017-04-12layers: Allow UO to codegen vkAllocateMemoryMark Lobodzinski
This was a special case, manually written as it contained a pnext extension chain containing Vulkan handles. Codegen now covers this case. Change-Id: I086d4314aeb9968c3f151e4e7134de7846c1c8d0
2017-04-12scripts: Add extension unwrapping support routinesMark Lobodzinski
Change-Id: I86f30aed8a35d91d4c08585210cc0571a27c7430
2017-04-12scripts: Add pNext-chain extension helper functionMark Lobodzinski
Unique-objects layer did not handle extension structs or chains of extension structs. Automated generation and handling of unwrapped struct chains. Change-Id: I8cc813c9bf7290bbcec257245848e54e1ce8a0f7
2017-04-10scripts: Defer unique_objects processingMark Lobodzinski
Codegen created wrap/unwrap code on the fly as commands were processed by the XML. Deferred codegen until all the data was complete and collected. Change-Id: I295ab59ad5dd24a5321e348cb18f96f2d0eed824
2017-04-10header: Update to 1.0.47 Vulkan versionMark Lobodzinski
- updated include/vulkan/vulkan.h - updated scripts/vk.xml - updated layers json files - updated tests json files - updated vulkan.hpp Change-Id: I0da07ad3d623d0f249593fa2d7d8e336e6ee8ad7
2017-04-05scripts: Add external/internal object type xlationMark Lobodzinski
Change-Id: Ib621d93069912bac6bbdc643c02fe6b711803c6f
2017-04-05scripts: Add object_type header file gen interfaceMark Lobodzinski
Change-Id: I2e4a9be203f13daccc5674d0b8f66729046af46c
2017-04-05scripts: Add object type enum generation to helperMark Lobodzinski
Extended the helper_file_generator to produce an object type enum header file. Change-Id: I8013091b34028522d8f50ef3941d7021b262613c
2017-04-03header: Update to 1.0.46 Vulkan versionMark Lobodzinski
- updated include/vulkan/vulkan.h - updated scripts/vk.xml - updated layers json files - updated tests json files - fixed include/vulkan/vulkan.hpp -- see Note Note: The Vulkan.hpp generator asserted when processing the 1.0.46 header files. Added a temporary workaround for this issue, but it may affect use of the vulkan.hpp header file. Change-Id: Iab296bf2004fbf6099baaab148994b15b0392381
2017-04-03scripts: Add ceiling function to vk_struct_size_helpermizhen
Change-Id: Ia377c52e43442fec17b823c888df6685eff0aca5
2017-03-31layers: Fix WriteDescriptorSet::dstSet validationDustin Graves
VkWriteDescriptorSet::dstSet is ignored by vkCmdPushDescriptorSetsKHR, so the 'must not be a null handle' validation for dstSet has been moved from the code validating the VkWriteDescriptor struct members to the code validating the vkUpdateDescriptorSets function parameters. Change-Id: Ia6f11d33e4d57d4c848aab72cfd91da5d5a15a30
2017-03-29layers: Fix extension func/core struct codegenDustin Graves
Fix code generation for extension functions receiving struct parameter types defined by core Vulkan. Extensions are processed as separate features by the code generator, and the type info required for structure generation was not being shared across features. The code generator has been modified to share type info across features so that the validation code generated for extension functions includes validation for core structures: - Prevent unique objects and parameter validation code generators from clearing struct type info data structures at the start of feature processing. - Remove unused data structures from unique objects code generator. - Adds handle unwrapping and parameter validation for elements in the vkCmdPushDescriptorSetKHR pDescriptorWrites parameter. - Adds handle unwrapping and parameter validation for elements in the vkCreateSharedSwapCHainsKHR pCreateInfos parameter. - Adds VkAllocationCallback parameter validation to the WSI and descriptor update template extensions functions. Change-Id: I016aa6550681dbf7d6bda834272374ce63ed1940
2017-03-28header: Update to 1.0.45 Vulkan versionMark Lobodzinski
- updated include/vulkan/vulkan.h - updated scripts/vk.xml - updated layers json files - updated tests json files - updated include/vulkan/vulkan.hpp - FIXED scripts/vk.xml (see note) NOTE: This commit also includes an unofficial change to vk.xml. The 1.0.45 header update broke the structure definition for device_features2. The mangled line has been replaced in this update. Change-Id: If646355a5b211ca90484d449a1c55412decc3de6
2017-03-28loader: Fix loader_extensions codegen for name defsMark Lobodzinski
Codegen attempted to infer name definitions instead of pulling from the source XML, causing errors in new header updates. Change-Id: I04e03b45dacf7c943b91e47f6ecffc82354c6f1b
2017-03-22layers: GH1592, Fix unique_objects DebugMarker ExtMark Lobodzinski
CodeGen ignored these APIs as they contain handles which are embedded in a structure and aliased. Added manual coverage. Change-Id: I81cf1945981a8e0b69966a9d0e190e49ff728ea8
2017-03-21header: Update to 1.0.44 Vulkan versionMark Lobodzinski
- updated include/vulkan/vulkan.h - updated scripts/generator.py - updated scripts/vk.xml - updated layers json files - updated tests json files - updated include/vulkan/vulkan.hpp Change-Id: I1d18921f75ec74484918be6cfdba394fc397d2f5