aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
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
2017-03-16loader: Fix vkEnumeratePhysicalDeviceGroupsKHXMark Young
vkEnumeratePhysicalDeviceGroupsKHX was not properly generating the physical device information or groups. Several changes resolve most of the issue, however, I'm still seeing issues when certain layers enabled. Change-Id: Id8d4553da25491a3d0a97e8d44e21340b41bc09c
2017-03-14header: Update to 1.0.43 header versionMark Lobodzinski
- updated include/vulkan/vulkan.h - updated scripts/cgenerator.py - updated scripts/vk.xml - updated layers json files - updated tests json files - updated loader SOVERSION - updated include/vulkan/vulkan.hpp - updated parameter_validation.cpp with new APIs - updated object_tracker.cpp with new APIs Change-Id: I1fd812cb376d5cddee5ab4acf2e4f8fe6d33b761
2017-03-07layers: Move DescriptorUpdateTemplate functionsMark Lobodzinski
In unique_objects, moved these functions from being auto-generated to being manually written. Change-Id: Iae7ccac0ad51d57826104bd0532742a098c673ce
2017-03-07scripts: Allow safe_structs to handle KHR extensionsMark Lobodzinski
Deep copies are needed for some of the new extensions. Change-Id: I7e77fe30a87129aa720225ae16eb87cdba8e626e
2017-03-01scripts: Update loader automationMark Young
Merge a few if's together to make the code easier to follow. Change-Id: I2453c8217da81befb4f44af19241c13c4aaef8af
2017-03-01loader: Fix handling of surface parametersJames Jones
The loader code generation scripts had a bug that caused all the surface->ICD surface translation C code to be placed inside a block that only ran if the ICD didn't support the extension function, making it effectively a no-op. ICDs that supported the extension were instead called with the un-translated surface handle, which could cause a crash if they were expecting their local surface handle. Also, speculatively fix up return handling in this same class of functions by handling the void return type.
2017-03-01vulkan: update to header 1.0.42Mark Young
Updated all necessary files to 1.0.42. This includes the various headers as well as the loader, and the parameter validation, object tracking, and threading layers. Additionally, bump all layer JSON files to 1.0.42. Also, in this change: - Enable loader extension automation so that the loader now generates all extension entry-points automatically during build to reduce likelihood of missing a critical piece on header update. - Enable layer dispatch table extension automation for the same reason. - Fixes from Mark Lobodzinski and Tony Barbour to resolve crash in loader when working with Intel's Windows driver due to GetInstanceProcAddr getting called on inappropriate command names. Change-Id: Ic18d3fac2e145c386c0192031deb5089c91a00d8
2017-02-28layers: Special-case threading GetSwapchainImagesMark Lobodzinski
This API is a special-case for the code-gen in that it sometimes returns an array of images. These do not need to be counted by start/finishReadObject and so were moved into the non-generated part of the layer source. Change-Id: Iaaab9143abadbf025b5f3c118aa26dae3c6f1bec
2017-02-17header: Update to Vulkan 1.0.41Mark Lobodzinski
updated: - include/vulkan/vk_platform.h - include/vulkan/vulkan.h - scripts/generator.py - scripts/cgenerator.py - scripts/lvl_genvk.py - scripts/reg.py - scripts/vk.xml - include/vulkan/vulkan.hpp - layers/tests json files - loader SOVERSION Change-Id: I1e7c3e39206be3c6d2c12b46c438a1fb9343945e
2017-02-16layers: Fix AllocateDescriptorSets in threadingMark Lobodzinski
Needed to special case this routine to skip validating objects before creation. Caught in CTS testing. Change-Id: Ic1c1b69bd1d75a5742c8b709624153db6af71885
2017-02-14header: Update to Vulkan 1.0.40Mark Lobodzinski
fixed: - generators for latex math changes updated: - include/vulkan/vk_platform.h - include/vulkan/vulkan.h - scripts/generator.py - scripts/lvl_genvk.py - scripts/reg.py - scripts/vk.xml - include/vulkan/vulkan.hpp - layers/tests json files - loader SOVERSION Change-Id: Id7d6f9dee73888877f2e7528f5701871f54ece79