aboutsummaryrefslogtreecommitdiff
path: root/layers/parameter_validation.cpp
AgeCommit message (Collapse)Author
2017-06-09layers: Remove unused PV routinesMark Lobodzinski
Change-Id: I0b4a2d1db79a00adca9159345402717d8aafab1b
2017-06-09layers: Make PV GPA handling more consistentMark Lobodzinski
Change-Id: I28d4642ca924928b9a76d6ddeb3a4e9ef106710b
2017-06-07layers: Free per-device and -instance data on destroyGabríel Arthúr Pétursson
Instance and device data are allocated by the first call to GetLayerDataPtr in the corresponding vkCreate call. We need to delete them when we're done with them. Introduce a FreeLayerDataPtr helper function that assists with this task. Deletes for dispatch tables were missing in a few places too. Add them.
2017-06-06layers: Remove unused extension enable data structsMark Lobodzinski
Change-Id: Id70d38c4e2d6f0d78b7e2d6e2108b0f39f3e99db
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-06layers: Rename PV device extension enablesMark Lobodzinski
Change-Id: I4078b279dd812694c358fdcc9f23f5620befaca0
2017-06-06layers: Move PV to use new extension helperMark Lobodzinski
Change-Id: Ia11632d241b0c717364cc8a2a26d3daaa66bcde5
2017-05-31layers: Add todo for pNext ext dependency codegenMark Lobodzinski
Change-Id: I5754ceeccca23723282b834e6fe9feadc1d74ae1
2017-05-31layers: Add missing/disabled extension validationMark Lobodzinski
Many of the main validation checks were ifdef'd out or were missing entirely. Change-Id: I18cd977a6a790cc12988c55093d826ab9ec50556
2017-05-31layers: Remove redundant device ext dep checksMark Lobodzinski
These are now handled through code-gen. Change-Id: I1430f25fbe151b5581bb57292e733e8ba66cbdf7
2017-05-31layers: Remove redundant instance ext dep checksMark Lobodzinski
These are now handled through code-gen. Change-Id: I773a2a3a5e531ba24108aeadf3fd67239a20c5e3
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: Move PV layer data structs into headerMark Lobodzinski
Change-Id: Ie8fb823f1bfa97047cb2d361bc0daea5ee504673
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: Remove duplicate check and dead codeMike Schuchardt
Change-Id: Ib25a9fc9052897eccb244d85122b451bda02f892
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-24layers:Migrate to new validation error IDsTobin Ehlis
Migrate valid usage IDs to new numbers based on the string IDs that are integrated into the spec build process. The formula for mapping the string ID to the new VALIDATION_ERROR enum value is in vuid_mapping.py script. The mapping between the old IDs and the new IDs is in the file "old_vuid_to_new_mapping.txt." The vk_validation_error_database.txt file has the new IDs as well as the string-based ID for each element and a column indicating if the valid usage is in the core spec or if it requires extension(s) and is therefore in the extension spec. The error messages were shortened and no longer include a section reference. Now the link goes directly to the line in the spec where the valid usage text occurs. The base of the spec link is the core spec unless the VU requires an extension in which case the spec with all extensions is used as the base.
2017-05-17layers: Transition all to HandleToUint64Petr Kraus
Mostly automatic (i.e. probably missed some cases)
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: GH1720 Migrate swapchain queue checksPetr Kraus
fixes #1720
2017-05-11layers: Update DeviceQueueCreate checksPetr Kraus
- remove some potential false-positives from QF check - update error db with existing check - use error db unique codes on existing checks - move check that need state to core_validation - deal with VK_QUEUE_FAMILY_IGNORED case - improve error messages texts - make messages return appropriate object - move code that looks displaced to appropriate places - add locks
2017-05-10layers: Modify PV to ignore FORMAT_NOT_SUPPORTEDMark Lobodzinski
This return code is now ignored by the Get*ImageFormatProperties* APIs. Printing a message for this usage was just noisy. Change-Id: I0cbd1b1a4cfa4761092a647d7912b1d590fcc89b
2017-05-10layers: Add exclusion list to validate_result in PVMark Lobodzinski
Allows specifying return codes to ignore in parameter validation. Change-Id: Iebf11920c3921c39190903b2750f4b3d61fe6242
2017-05-09layers: LX673, CreateWin32Surface Null HWND checkMark Lobodzinski
Added NULL check to parameter validation, and assigned VU2505. All we can do is check for Null. Apparently, hInstance CAN be NULL. Change-Id: Ica5ead0514b7435ea9428dbd0018f53ff25462fd
2017-05-05layers: Add VkVertexInputAttributeDescription VUsJeremy Hayes
Also fix GH#1709. Change-Id: I62394dc34cb92aa4308eb84cf7a0d62403e7a9e7
2017-05-05layers: Add VkVertexInputBindingDescription VUsJeremy Hayes
Change-Id: Id9cb603dce7a49b21f9f8252baef692b4f6787f7
2017-05-05layers: Fix incorrect VU IDMike Schuchardt
Change-Id: Ifc751f1ece6cfd5b6ab02d63081af6acbb2c56e8
2017-05-05layers: Move patchControlPoints validationMike Schuchardt
Move pTessellationState->patchControlPoints checks to parameter validation where they will only be executed if the pipeline contains tessellation stages. Change-Id: I271f915625995f4a54045d0abe63ce27b9e023f9
2017-05-05layers: Pipeline creation conditional validationMike Schuchardt
1.0.47 added language to spec about when arguments to vkCreateGraphicsPipelines are ignored. Only perform validation on pTessellationState when both tessellation control and evaluation shader stages are present. Only perform validation on pViewportState, pMultisampleState, pDepthStencilState, pColorBlendState when rasterization is enabled. Change-Id: I23e1880d73723189adea32ef9d6ec3b2c3ac689c
2017-05-03layers: Use InstanceExtensions in PVChris Forbes
2017-05-03layers: Move PV device extension handling into helperChris Forbes
2017-05-03layers: Make device extension enables consistentChris Forbes
I want to get rid of the "_enable" suffix everywhere to allow for a second instance of the same structure to represent the /supported/ set for better diagnostics.
2017-04-24layers: Banish 'skip_call' once and foreverMark Lobodzinski
Except for swapchain.cpp, which is undergoing a merge into CV. Change-Id: I8b18518ef662a9a11a808ef3dce1b8f60d858fb3
2017-04-24layers: Final object-type cleanup and loose endsMark Lobodzinski
Fixed a few DebugReport object type casts and a couple of missed spots with internal object type usage. Change-Id: Iaa8bdcf60d5ec89e1da64227f2b7367ce6c64dc1
2017-04-22layers: Use UNKNOWN object type instead zero-castMark Lobodzinski
Change-Id: I36c175e78d7a33667f1485ed0e53f1dadab62a31
2017-04-12layers: Fix parameter validation ext enable structMark Lobodzinski
Change-Id: I48c27be03e5ccb4621e7c7fb7b21bb0bf1d8bceb
2017-04-03layers: incremental_present parameter validationTobin Ehlis
Add parameter validation for VK_KHR_incremental_present extension. If the VkPresentRegionsKHR is included down the struct chain for QueuePresentKHR() validate its parameters. Change-Id: I97abe552411f229eecbbf7df7d565f7953cdd1b7
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: Rename format utils, strip VkDave Houlton
Change-Id: I4d192db22c51d2e9224b74487bfd5d6a58405028
2017-03-29layers: refactor layer utilsDave Houlton
Split format-related helper fxns out of vk_layer_utils.cpp into a new file vk_format_utils.cpp. Remove the duplicated fxns in the render framework and share the new format utils across both projects. Rename the util fxns into CamelCase per coding std. Change-Id: I0f9a34bc5931dfca085dfdc8d4800664aec526cf
2017-03-16layers: Fix incorrect KHR/KHX ifdefs.Jamie Madill
In two places we were checking for the presence of the WIN32 KHR define instead of the KHX define where the enums and methods are defined. Fixes #1593. Change-Id: I0bf0c2e2ed734ed2c40a44c4cd7d468ba70ca9a4
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-14layers: Remove deprecated KHX extension from OT/PVMark Lobodzinski
Deleted references to GetPhysicalDeviceImageFormateProperties2KHX and GetPhysicalDeviceProperties2KHX from object_tracker and parameter_validation. Change-Id: I83e29bae8302dad6f774886d8472451220b426d2
2017-03-14layers: Add PV Maintenance1 negative viewport checkMark Lobodzinski
Negative viewport offsets are now allowed if the Maintenance1 extension is enabled. Change-Id: Ifb080ba71d688f431a0d12a9018d746f28377a15
2017-03-13layers: Add textureCompressionBC feature checkMark Lobodzinski
Change-Id: I4eca8c73a1cc2549402b436f8634fa9e72b9b9ce
2017-03-13layers: Add textureCompressionASTC_LDR feature checkMark Lobodzinski
Change-Id: I862b2e188e0e253890aa9e0fad8f97914e004c0a
2017-03-13layers: Add textureCompressionETC2 feature checkMark Lobodzinski
Change-Id: I13408cd02beda7c4f91a6e9424fa0d1109461b6d
2017-03-13layers: Validate samplerAnisotropy device featureMark Lobodzinski
Change-Id: I8b1262c34612870b9c8ebb1f62e7d6755219606f
2017-03-13layers: Finish multiViewport dev feature validationMark Lobodzinski
Change-Id: I58397785e7b73099d2a890246207075dae643652