5f6b7bf3dab2c213b407e1dc16129c04e4405ff3 |
|
07-Feb-2018 |
Dave Houlton <daveh@lunarg.com> |
layers: clang-format only Whole-file clang-format of layers .h and .cpp files Change-Id: I683ad38fa9bced371a923b86d8cc916f2c2aa947
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
a1d2144eeb19b4ac81e730a469329d841196343b |
|
13-Feb-2018 |
Tobin Ehlis <tobine@google.com> |
layers:Remove TODO comments After discussion in Khronos, explicit VUIDs for these descriptor set lifetime cases are not going to be added to the spec. There are no similar VUs for related object lifetime cases so will continue using the existing VUIDs for valid descriptor set handles which is a reasonable compromise.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
21a24d428d8a4075bc835d4220d2092254e17b32 |
|
24-Jan-2018 |
John Zulauf <jzulauf@lunarg.com> |
layers: Add check for push descriptor allocation Add validation check for attempting to use vkAllocateDescriptorSets with a descriptor set layout create with the push descriptor flag VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR set. Checks added: VALIDATION_ERROR_04c00268 VUID-VkDescriptorSetAllocateInfo-pSetLayouts-00308 Change-Id: I81bed8e7eb5396f7a716b6a14b648b5051127259
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
e13b0d1d0c63c2e30811d455d3b73d66445ba674 |
|
23-Jan-2018 |
John Zulauf <jzulauf@lunarg.com> |
layers: Add push descriptor set layout create VUID Add VUID checks to vkCreateDescriptorSetLayout for push descriptor sets. Additional checks include: VALIDATION_ERROR_05000230 VkDescriptorSetLayoutCreateInfo-flags-00280 VALIDATION_ERROR_05000232 VkDescriptorSetLayoutCreateInfo-flags-00281 Also added check for use of VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR when the required extension VK_KHR_push_descriptor is not enabled. Updated CreateDescriptorSetBindingWithIgnoredSamplers test, which violated the above check. Change-Id: Ie009019bbb7859553df92473796a1a929a9464f7
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
f57f451e6ce7a4952beb3d26d59ebeb0c077dcba |
|
17-Jan-2018 |
John Zulauf <jzulauf@lunarg.com> |
layers: Add validation for destroyed layouts Add three tests to flag with descriptor set update operations are being done to descriptor sets with destroyed descriptor set layouts. The tests use overload VUID (generic "must be valid * handles) which need to be replaced with specific ones when they are added to the spec. VALIDATION_ERROR_15c00280 (write dst must be valid) -> write dst created from destroyed layout VALIDATION_ERROR_03207601 (copy dst must be valid) -> copy dst created from destroyed layout VALIDATION_ERROR_0322d201 (copy src must be valid) -> copy src create from destroyed layout Change-Id: I8a3edc67b3e86037cdaa6353176814abfddef1a0
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
0d034c42db8436d15de6b88dc3977cde56cb7a54 |
|
13-Jan-2018 |
Yuly Novikov <ynovikov@chromium.org> |
layers: Fix Android build ndk-bundle/sources/cxx-stl/llvm-libc++/include/set expects comparator's operator() to be const.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
fdbf6f370d7e0f715a07ed31364c9e4d8466c6d9 |
|
12-Jan-2018 |
Artem Kharytoniuk <artemalive@gmail.com> |
layers: Fix typos in ValidateUpdateDescriptorSets
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
e42c65bc66d00100f346b1e99784168ce11b6e3d |
|
05-Jan-2018 |
John Zulauf <jzulauf@lunarg.com> |
layers: Make DescriptorSetLayout robust for CTS CTS sends an invalid descriptor set that the validation tracking was not robust to -- two binding with identical binding ID values. After reporting the invalid input data, the test application could crash. Validation internal data is now created in a way that invalid data should less easily cause program termination. Change-Id: Ib84a5234267f7bece9be377badd22696e3633b1b
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
61e4ca90b669387237558926a72d120b2083bc9c |
|
23-Dec-2017 |
John Zulauf <jzulauf@lunarg.com> |
layers: Add validation caching for draw/dispatch Validation of descriptors at draw or dispatch time is now cached, s.t. without changes that affect validity, validation checks are not repeated. Change-Id: I713662d00813989bf4441921456afca431d730d7
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
598bbcca827760018f9dd8e0ffede7dc0dc97688 |
|
23-Dec-2017 |
John Zulauf <jzulauf@lunarg.com> |
layers: Replace iterative DS Get.* with maps/sets Profiling indicated hot spots in DescriptorSet Get functions which iterated in binding space to lookup values. Replaced iterative searches with maps/sets. Additionally simplified construction, optimized map/set creation and Get.* for DescriptorSet and DescriptorSetLayout. Change-Id: Ia2948e56333d3643d4377b39e75acf4c951d558b
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
c9c7afdf4aa0ce0d3929b9d831bb9e29d75a94ab |
|
15-Dec-2017 |
John Zulauf <jzulauf@lunarg.com> |
layers: Combine global binding start/end lookup Binding start/end lookup where using two separate maps indexed on a common key. Combined to avoid repeated lookups. Change-Id: I57ed71736537de5eb83fe41599a8acec9bf23d13
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
055fc8fd459f0da279d4814f927ea7090dd0f7e9 |
|
09-Dec-2017 |
Petr Kraus <petr_kraus@email.cz> |
build: Clear some compiler warnings - remove unnecessary ";" after function definitions and namespaces - fix wrong type match in printf for handle types - convert some left-overs to `HandleToUint64`
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
fa0eddb05f4a7c95604e8622999085b224f3fbfb |
|
13-Oct-2017 |
Józef Kucia <joseph.kucia@gmail.com> |
layers: Remove validation error for copying nonupdated descriptors The spec doesn't say much about descriptors copy update valid usage, but it doesn't seem to require that descriptors are updated before copying.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
86e7835a164132ada3f3ee8d3226047542f9ffa9 |
|
11-Oct-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Verify valid buffer for tex buff ds update Fixes #2104 Make sure that buffer underlying the bufferView of texel buffer for a uniform or storage texel buffer update has a valid buffer behind it. Object tracker only checks to make sure that the view itself hasn't been destroyed, so need this extra level of checking at this level to avoid crash.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
6f4f6c67020802095d262d2053af6ae64f92c511 |
|
21-Sep-2017 |
Józef Kucia <joseph.kucia@gmail.com> |
layers: Correctly check if descriptor was updated
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
61ad54359b083bdf09e7f27bd9e355ff50c6ceae |
|
10-Sep-2017 |
Józef Kucia <joseph.kucia@gmail.com> |
layers: Use layout flags to test for push descriptor sets
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
2d4a3c28bf95f00fa2aac7d07288f6faf22208ab |
|
21-Aug-2017 |
Mark Lobodzinski <mark@lunarg.com> |
layers: Account for push descriptor sets in CV Change-Id: I1095edce0f26e2a4ced6fa301143622dc5cd0afd
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
ea25bfefc8d16250ee64492db242e76b3cb0758e |
|
09-Aug-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Fix consecutive binding updates Fixes #1992 When we're wrapping a descriptor update for consecutive bindings, fix code so that index into update array consistently increases.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
f009b4494ba3c94f24bfa2360568b46e6e50535f |
|
21-Jul-2017 |
Chris Forbes <chrisforbes@google.com> |
layers: Resolve TODO about actual layouts This VU exists now in recent specs.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
90f57a1c0ee224c6ba8a9d143690d69cb5961485 |
|
21-Jul-2017 |
Chris Forbes <chrisforbes@google.com> |
layers: Implement check for binding of maint1 slice of 3d image to DS Fixes #1910
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
96d0e7d0167107a1ebc2a98c02de7523c7af4256 |
|
14-Jul-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Handle deleted image view in descriptor When an image descriptor with a destroyed image view was used we hit an assert. This is not caught upstream and can occur if a descriptor is re-used following image view deletion. Add code to catch this case and report the destroyed image view.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
49a45ec0e50568e9561dcca5a1490dd630b84516 |
|
07-Jul-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Identify layout from pipelineLayout When checking IsCompatible() for a DescriptorSetLayout, the passed-in layout is always from a pipelineLayout, however this was not specified in the code. Add comment to specify this usage and update the error message to always distinguish which of the layouts using in the compare is from the pipelineLayout.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
88224335ef7965e89477c393331ef5fa628a9335 |
|
21-Jun-2017 |
Tobin Ehlis <tobine@google.com> |
layers:IsCompatible uses raw DSLayout ptr Update IsCompatible calls for DescriptorSetLayout class to use raw ptrs instead of shared_ptr as the calls just temporarily use the ptr and don't affect ptr ownership.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
bdb20c0ebf75b1abcc8d763097ea9b126efee1b1 |
|
21-Jun-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Set DescriptorSetLayout in DS to const The DescriptorSetLayout pointed to by shared_ptr in DescriptorSet is const so add const across uses as appropriate.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
6430856671acd01e2387df74771e33976418645a |
|
21-Jun-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Pass shared_ptr by const ref DescriptorSetLayout shared_ptr will always survive the lifetime of the DescriptorSet constructor so pass by const ref.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
d34b2c191243c1646f1ccc2378262383e9ec1348 |
|
20-Jun-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Migrate DSLayout to shared_ptr Update Descriptor Set Layout copy in Descriptor Set, as well as various ptr references to use shared_ptr. This fixes some potential memory leaks and makes Descriptor Set class lighter weight.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
827e8708bfc431aa792cba005ebf9f1fe35cc7e3 |
|
13-Jun-2017 |
Mark Lobodzinski <mark@lunarg.com> |
layers: Use copies of layout data for descriptorsets DescriptrSets used pointers to descriptorsetlayout data, which caused invalid references if the layouts were deleted before the descriptor sets. Changed the layer to copy the data. Change-Id: I671f1efed2aa0986f3a370b51f2f96c07b555af7
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
d4eaca34eca7f4b4e34190c441a579347bb2016a |
|
01-Jun-2017 |
Mark Lobodzinski <mark@lunarg.com> |
layers: Move CV to use new extension helper Change-Id: Idb18d0f358fd359c1c5862fba394c833e2fa13f1
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
315b15c3d74eb1df11b992c2b9922cf98e939eb8 |
|
24-May-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Migrate to new validation error IDs 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.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
9b6bedb9061a3ab94386ee9293da1dd43267a680 |
|
14-May-2017 |
Petr Kraus <petr_kraus@email.cz> |
layers: Transition all to HandleToUint64 Mostly automatic (i.e. probably missed some cases)
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
2044b110851e8f1b75d6d406a0c88612476c63db |
|
11-May-2017 |
Chris Forbes <chrisforbes@google.com> |
layers: Remove swapchain image special case from ValidateBarriers Swapchain images have been added to the images table for a long time. The checks below were also inconsistent about using the extracted data or just going to image_data.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
87a57d8e822316de46ee97f514187331b1f4f09d |
|
11-May-2017 |
Tobin Ehlis <tobine@google.com> |
layers: Validate shared presentable image cases Add validation support for shared presentable images as defined in VK_KHR_shared_presentable_image extension. For all uses of shared presentable images, make sure that the image is appropriately in VK_IMAGE_LAYOUT_PRESENT_SRC_KHR layout. For two cases where no layout validation was performed, added a TODO note (vkCmdBlitImage, vkCmdResolveImage) as basic layout validation should first be added upstream. Also locked the layout in the case where a front-buffered image is presented and then flag an error if an attempt is made to transition the image layout after that point. Change-Id: I06cda727e3a7f56ccff4bffd7503b5ff73e8a795
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
6c7bc833f3a93217bd85447643f86e4885adb411 |
|
09-May-2017 |
Chris Forbes <chrisforbes@google.com> |
layers: Remove default ctors for {Image,}SamplerDescriptor These just added confusion; we already support the !immut case in the other ctor. V2: ImageSamplerDescriptor remaining ctor was buggy.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
7b57c1142bc3c530f6697d3957daad89ce9d4f36 |
|
09-May-2017 |
Chris Forbes <chrisforbes@google.com> |
layers: Don't start ImageSamplerDescriptor w/ immut as updated. This descriptor is NOT initially updated; it's invalid until the Image component is set.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
ba811d3143bf79a05339344966e811175caad09f |
|
08-May-2017 |
Chris Forbes <chrisforbes@google.com> |
layers: Don't skip validating image part of combined image+immut sampler This early out was from another time...
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
93f2d24a40c6b2d686e8e881a1407f603b78e3dd |
|
08-May-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Immutable samplers are updated at creation Fixes #1741 Descriptors with immutable samplers are updated at the time they're created. Set update bool for descriptor sets with immutable samplers at the time they're created. This will prevent false positives.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
70af918fb4b7b784ae1edd5c0625e60e273eef4d |
|
02-May-2017 |
Chris Forbes <chrisforbes@google.com> |
layers: Make device extension enables consistent 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.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
3251dd855490066e66a663dece5afee8ca0b95cd |
|
24-Apr-2017 |
Mark Lobodzinski <mark@lunarg.com> |
layers: Banish 'skip_call' once and forever Except for swapchain.cpp, which is undergoing a merge into CV. Change-Id: I8b18518ef662a9a11a808ef3dce1b8f60d858fb3
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
7a9423788398dbeb6d1fe0354a66123b61afda96 |
|
13-Apr-2017 |
Mark Lobodzinski <mark@lunarg.com> |
layers: Switch CV over to layer object types Convert internal uses of VkDebugReportObjectTypeEXT for the core- validation layer to use the internal layer-povided object-type. Also modified tests for changed error text. Change-Id: If080f4bf452ead0c6fecc648309bfd95b27fc0ce
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
0db18ab1345f9e10907913b22ea5d57bd48077eb |
|
07-Apr-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Add image layout validation for descriptors This change adds validation to make sure that an image layout at the time the image is used in a descriptor matches the layout that was given when the descriptor was updated. Because image view covers a range of mip levels, loop over each level and verify layouts one at a time. Also Updated a number of validate functions to use cont ptr params for data that they aren't changing.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
16769f6b2a7721e391952a97f010cbb530e4f211 |
|
29-Mar-2017 |
Dave Houlton <daveh@lunarg.com> |
layers: Rename format utils, strip Vk Change-Id: I4d192db22c51d2e9224b74487bfd5d6a58405028
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
1c55ba02ac8e31fad486ae3ffcf7d207a5e4179a |
|
28-Mar-2017 |
Dave Houlton <daveh@lunarg.com> |
layers: refactor layer utils 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
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
57eda737eea95dd728f6dce5c78d6b00fb126076 |
|
21-Mar-2017 |
Mike Schuchardt <mikes@lunarg.com> |
layers: VK_KHR_maintenance1 false positives Skip checks that no longer apply when VK_KHR_maintenance1 is enabled. Change-Id: I84d0fe889d0e567045aeb7fa7463dd2ec0d56789
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
7a7c05af97a73fc6d4917ddda909f119583ff9fc |
|
14-Mar-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Connect VK_EXT_validation_flags Add support for VK_EXT_validation_flags in core_validation. The only enum currently supported is VK_VALIDATION_CHECK_ALL_EXT which disables all existing flags in validation. Note that most checks are still not guarded by flags so that option will only disable the checks that are guarded by flags. In testing this I found a bug with AllocateDescriptorSets() where common state was not updated with the flag enabled so this includes a fix for that issue as well.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
760ecd0b73e1941e08bd63c5fa8a44499d7e7c3e |
|
09-Mar-2017 |
Jeremy Hayes <jeremy@lunarg.com> |
tests: Fix DSBufferInfo unexpected errors Change-Id: I594243d7879ed9999571c4f185724ba42d2ed7b6
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
b48cceab5349230df8635a2284fc2c89323d81c0 |
|
10-Mar-2017 |
Mark Lobodzinski <mark@lunarg.com> |
layers: Add GetNextValidBinding function to CV Change-Id: Ifaa7aea1c7569ffaf5d417a1cd5caadaa38c96b0
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
25f3712aed1cebdcb7c92eb25c5f1cc6e5986ac4 |
|
10-Mar-2017 |
Mark Lobodzinski <mark@lunarg.com> |
layers: Move desc set helper to descriptorset module Change-Id: I695cf51b6fa27df7585582f545c0077efb9fd432
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
d0b59d0aabea9048c518840e762c7a510927c132 |
|
10-Feb-2017 |
Mark Lobodzinski <mark@lunarg.com> |
layers: Consolidate GetPhysicalDevice* accessors Simplified core_validation->descriptor_sets/buffer_validation. Change-Id: I6921ac458bce5899e8bd60145bfaa0e0f5e8a2ac
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
e40189d4deab674240cd9baf4c063bab4567c212 |
|
08-Feb-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Add using statements for layer_data Add "using core_validation::layer_data;" to descriptor and buffer validation files. This cleans up the code without adding any confusion or name collisions.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
9a9a0db2a973034d4286b6d4c62a46beb7641791 |
|
08-Feb-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Rename get* utility functions Rename get* helper functions to have capital first letter in-line with coding standard.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
dcb502ef002257b5ead25231535c5f4951d62c6b |
|
03-Feb-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Add buffer descriptor device limit checks This adds missing checks for max range for storage and uniform buffer updates. Also update database file.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
cc7c305c82f6443c324165edb7af59f60fc87eeb |
|
26-Jan-2017 |
Mark Lobodzinski <mark@lunarg.com> |
repo: Clang-format LVL source files using Google Switch clang-format standard from the LLVM style to the Google style for more consistency. Change-Id: I247c4abc275d7873a91522e1e234198adaa24033
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
bc9caa57c5583dfdf05198e78b78a7cb361da16c |
|
26-Jan-2017 |
Mark Lobodzinski <mark@lunarg.com> |
repo: Clang-format c/cpp/h LVL files using LLVM Bring all source files in the repo up to date with consistent coding style/standard. Change-Id: Iceedbc17109974d3a0437fc4995441c9ad7e0c23
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
acad629aa45651ee72bd7ed828e8c59bc4a364fe |
|
04-Jan-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Remove redundant checks Remove descriptor set check to make sure that src & dest descriptor sets of copy update are valid. Object_tracker already verifies this.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
b07b3c52d8248b424b3c97e035981abd57a6e306 |
|
04-Jan-2017 |
Tobin Ehlis <tobine@google.com> |
layers:Add TODO comments for valid usage updates Note a few unique error enum duplicates that should have their own unique ids added through spec updates.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
0f3b6b868dde8bebc6ffb7646db21c122e44c46b |
|
03-Jan-2017 |
Tobin Ehlis <tobine@google.com> |
scripts:Exceptions for duplicate unique ids Added a number of exceptions for duplicate uses of unique error enums that are valid. Also added some comments to a few cases that need new unique ids.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
ffa1c08650c9dbe798f25b88bef4b28d33d57b01 |
|
29-Dec-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Don't pass active binding set around The active bindings set was being passed around but the data is only used in a couple places and an alternate form of it is available in the binding->requirement map. Also, the binding set was wrong in that it stored bindings for all bound sets at draw time, but was being used to check bindings for individual sets.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
cca5c5fef8ad021f43f90be5bf8533035aeb579b |
|
22-Dec-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Remove redundant check Remove valid buffer check from descriptor_sets.cpp that's already handled in object_tracker.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
35ec5e14e463d342b74ffe33ee542be13d5c6639 |
|
22-Dec-2016 |
Tobin Ehlis <tobine@google.com> |
layer:Add unique error ids for memory binding Update all of the cases to validate that memory is bound to non-sparse images and buffers to use the correct unique error id.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
12ad1656638aa3f6c719a27ead8aa7fdbc6dd25e |
|
22-Dec-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Add valid usage error ids Update descriptor set cases where no memory bound to buffer or image to use the correct respective unique error ids.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
ec2ff49aea47929f28679d7bbe598ec439db7bb5 |
|
21-Dec-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Split ValidateAndUpdateDrawState() Split ValidateAndUpdateDrawState() to isolate validation and state updates into ValidateDrawState() & UpdateDrawState() functions. Refactored CmdDraw() to use Pre/Post patter with all state updates now occurring in the Post function. Made some initial updates to other Draw/Dispatch functions to call each new function in-line, but will refactor these functions to use Pre/Post in follow-on commits.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
38de34103bb8f7a91527ce04f9537b82dd526638 |
|
19-Dec-2016 |
Jamie Madill <jmadill@chromium.org> |
layers: Fix size_t-int cast warning in descriptor_sets Discovered in VS2015. Change-Id: I2a42209a9ee9bd0e8f3da21c0f1a613315d5a6ce
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
9686cab5697c592d41d1137e0cec1f5820ba9fa2 |
|
15-Dec-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Refactor consecutive descriptor count Refactor GetConsecutiveDescriptorCountFromBinding() to use the fact that bindings are now stored in-order. No longer need to chase binding order through the map, just get current binding index and then parse rest of the binding array in-order.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
936929e16f77d4f5abeb924b5171cc1ac1705236 |
|
12-Dec-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Store DescriptorSetLayout class in-order Sort the bindings in the internal data structure of the DescriptorSetLayout class so that they're stored in binding order. This commit keeps the interface and mapping structures the same. Further commits will take more use of the fact that layout is now stored in binding order.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
9c41b0b91bbd6bd1fb0ed7d8ecc6946bddb611a5 |
|
02-Dec-2016 |
Mark Lobodzinski <mark@lunarg.com> |
layers: Fix Windows build STL min/max functions were causing windows build failures. Change-Id: Ia153a5d6a3d245b645b5f829c3f076c023d865f1
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
5b6ae2bab15bc66805ab9e1bb9b1c21f3fa39ae9 |
|
30-Nov-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Handle consecutive descriptor updates Fixes #1165 According to spec descriptor updates should roll over to the next binding number. If bindings were out of order, this was broken in validation. This fix corrects validation and state update for out-of-order descriptor bindings by checking consecutive updates based on correct binding count for consecutive bindings and by performing updates on a per-binding basis, making sure to roll update over to the correct next binding. Also update the error message, related negative test, and database file.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
bfa6bf1f1ccff329a0988831eb67a6b588657ec9 |
|
23-Nov-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Unique enums for vkAllocateDescriptorSets Add appropriate unique error enums to the code for allocating descriptor sets from a pool without enough sets left and without enough descriptors left. These were already flagged as implemented but the enums hadn't been added to the code.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
915456ab3831f14ed530861ccdef084bd091e8a0 |
|
21-Nov-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Remove redundant periods These error messages are all amended to error messages that already include a period at the end so deleting the extra periods.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
c6f4565e979c78ffec5be1edd59c0a777ec1754d |
|
21-Nov-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Check for update of empty binding Validation error if descriptor update performed on an empty binding.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
39c845ed4c066740e9efaed0a00af51be07c67c1 |
|
21-Nov-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Warn on cmd buffer invalidate From Mikko Strandborg When a resource gets deleted, any command buffer that references it gets invalidated, and an error gets thrown whenever that command buffer is submitted. However, for a developer, it's quite hard to deduce what exactly caused that to happen. This patch emits a warning whenever a command buffer that's in CB_RECORDING state (meaning that it has had its vkBeginCommandBuffer called but not End). This way the developer can set a breakpoint on that to see exactly what causes the buffer to be invalidated. Destroying a resource that's being used in an open command buffer is almost certainly a bug, but there might still be cases where it might be valid behavior (for example, when the application decides to abort an operation), therefore it's not an error but a warning instead.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
5cca7b0a90e0b6fe1cc28ddbe9037c3ce3f3ee13 |
|
16-Nov-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Rename BUFFER_NODE->BUFFER_STATE
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
d87d172d120ea3f00bfd34335537332d7ce61a89 |
|
15-Nov-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Check all memory bindings There are a few places in the code where we assume that an image or buffer doesn't have a sparse binding. These cases break with sparse bindings. To fix I added a function to BINDING class to retrieve all memory bindings and then updated a few spots with bad assumption to make use of this new GetBoundMemory() function.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
74b87f15f8812556caa3964e30098a8ededd5bc6 |
|
17-Nov-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Fix descriptor dynamic offset handling Fixes #1162 The dynamic offsets passed in at descriptor bind time are ordered based on the binding order and any consecutive array indicies within those bindings. When we validate the dynamic offsets at draw time, we were using the entire dynamic offset array, but only the active bindings. If we had an inactive dynamic binding before the end of the bindings we would use the wrong offsets. This change fixes the issue by creating a mapping between bindings and dynamic offset array indicies at descriptor layout creation time. At draw time the mapping is then used to lookup the correct dynamic offset array index for a given binding.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
d31a44af6da568692a73201825459689c9431867 |
|
20-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Rename SAMPLER_NODE->SAMPLER_STATE
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
3f1d2ba6852cf6b1bb4e1f06d690293565108e2c |
|
26-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:CreateDescriptorSetLayout cleanup Streamline duplicate binding check, use [] operator instead of emplace, remove dead comment and add new comment.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
0c347fc6b08172b778c259e1a1219a2403495d48 |
|
25-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Refactor CreateDescriptorSetLayout Update CreateDescriptorSetLayout() to use Pre/Post pattern and split out validation of createInfo for the layout to occur before the creation of the layout.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
2083721ccdace484e9cf6f820223d2d471e12fd7 |
|
25-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Update error enum for duplicate bindings Add unique error enum for the case where descriptor bindings are duplicated.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
d79335137b414d5f89284a9ab3e014beb4ada3eb |
|
18-Oct-2016 |
Mike Weiblen <mikew@lunarg.com> |
layers: Reword from cryptic abbreviations to readable words Expand abbreviations to improve readability: DS=depth/stencil DS=descriptor set CB=command buffer VS=vertex shader FS=fragment shader VTX=vertex PSO=pipeline state object Change-Id: I48fe917aac50d1911fe2a3aa1ed2c739637c7645
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
e46491ee6f16b9d29e68914fc6522aba2fde0ad4 |
|
11-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Add BINDABLE superclass for image/buffer state Support for sparse memory binding is virually non-existant in current validation layers. This is a first step down a long path to improve sparse binding support. The BINDABLE superclass is sub-classed by IMAGE & BUFFER state objs and contains memory binding info in both the single binding and sparse binding cases. Bindings are initially encapsulated in the new MEM_BINDING struct. For single binding cases, things are almost exactly the same as they have always been. For sparse binding, the various bindings will be stored in the sparse_bindings set where we initally don't have complete information on the sparse binding as we only store the MEM_BINDING info but this is a start.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
dfb574441c7821174b2ed5ea7a3c56f05caa1def |
|
17-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Kill blank array element for empty binding Fixes #1053 DescriptorLayout class was incrementing global index for empty bindings which led to an empty array entry that could cause invalid errors when updating descriptors. This change will only increment global index for non-empty bindings.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
1facd2c91911508b9fb61f54a56269841299f663 |
|
13-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Rename IMAGE_NODE to IMAGE_STATE Another node->state rename pass.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
c70d8a0489a4c409157c2d68234edd45567fbcad |
|
12-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Bind descriptor pool to cmd buffer Add pool state to DescriptorSet instead of just the pool. Then, at bind time, create a dual binding between the cmd buffer and the pool. This correcly puts pool in-use when cmd buffer is submitted, as well as flagging cmd buffer as INVALID if/when the pool is destroyed.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
bf903628512a08002e11923bd955e308a8be3d81 |
|
12-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Update some pool_node naming Change some pool_node names to pool_state in DescriptorSet class. Also update getPool function prototype to the new name of getDescriptorSetState().
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
853200371e633f86f828eaf27562fcdcdb28a8e8 |
|
12-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Add pool member to DescriptorSet class When creating a DescriptorSet instance, record the pool that the set is allocated from in a private pool_ variable. Then, when binding a set to a cmd buffer, also create a binding between the command buffer and the pool. This allows us to catch the in-use case when sets are implicitly freed by calling vkDestroyDescriptorPool().
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
a21f0d8ac8389dc4e23749efc02d82a7ec1eaee3 |
|
12-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers:Rename DESCRIPTOR_POOL_NODE to *_STATE Continuing the NODE->STATE renaming effort
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
6e62fd77eded55becc241d44ae9d07153fc1ffc0 |
|
10-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Validate correct layout for STORAGE_IMAGE descriptors According to the spec "Load and store operations on storage images can only be done on images in VK_IMAGE_LAYOUT_GENERAL layout." This change flags an error if a STORAGE_IMAGE descriptor is updated with an image layout other than GENERAL.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
7286e20c06011d3c6fa7edfbdbadd42bb6e8cc35 |
|
07-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Pass unique error codes through descriptor validation Descriptor validation builds up error strings at multiple levels such as UpdateError->WriteUpdate->BufferUpdate->BufferOffset. The final error is then reported via a log_msg() call at the top level. In order for this design to allow for the new unique error codes, we need to pass error codes down the chain in the same way we pass error strings down the chain. This change adds error msg passing for descriptor updates. Many error codes are added in as well as comments for codes that are missing or need to be updated. The database file is also updated to account for all of the checks that were updated and/or reviewed.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
1c48e214b2ed50690da7f42f2013be3a6ef267df |
|
06-Oct-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Updating descriptor checks to use unique enums Initial batch of updates to use unique validation error enums and messages for a few checks. Updated the database file and flagged some other checks that are missing along with "TODO" notes in the code.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
77b6217754b9c167b08cb151e70b41a948e36277 |
|
28-Sep-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add binding between cmd buffer and bufferView For a texel descriptor update, add binding between bufferView and the command buffer as well as between underlying buffer and command buffer.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
dd75b52c0bd5aadb682f157107bd59c2715d1d1b |
|
23-Sep-2016 |
Alex Smith <alex@alex-smith.me.uk> |
layers: Fix VerifyCopyUpdateContents on combined image sampler descriptors A missing break at the end of the ImageSampler case results in falling through to the Image case, leading to spurious validation errors such as: vkUpdateDescriptorsSets() failed copy update from Descriptor Set 0x108 to Descriptor Set 0x137 with error: Attempted copy update to image descriptor failed due to: Invalid VkImageView: 0x100000000
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
1cba4e1b5940c6818572e05dcad5a3a47fafbc9e |
|
21-Sep-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Clean up no memory bound checks When memory is freed make sure to clear bindings in associated objects. Also clean up reporting of no memory bound errors. Old assumption was that no memory had every been bound, but it's also possible to hit such errors if the bound memory was freed prior to operation of interest. In descriptor error cases where no memory is bound, add a final error string as clarification since descriptor errors are built up of multiple strings with details from each function call in the tree.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
8fd42fd0e53f0ce2fc6a5bbecc2ec3ba4730a00e |
|
21-Sep-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Verify memory is bound to images used to update descriptors Fixes #663 For vkUpdateDescriptorSets() calls that include an image, verify that memory is bound to the image.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
03ea795b83fdf0099594808a1a57064dea7f02a1 |
|
19-Sep-2016 |
Tobin Ehlis <tobine@google.com> |
layer: Add in-use validation for imageView Bind imageView from a descriptor to the command buffer at CmdBindDescriptorSets time and check for an in-use imageView at DestroyImageView time. Also use new AddCommandBufferBindingImageView() helper to bind children of framebuffer in AddFrameBufferBinding().
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
39267c0c27b8f032f05a6747eb02d4508247fdc1 |
|
14-Sep-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Update BufferView state tracking Create BUFFER_VIEW_STATE class to hold VkBufferViewCreateInfo and update related state tracking. This class derives from BASE_NODE in preparation for tracking in_use for BufferViews consistent to other object in_use tracking.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
79fde938178535f598e030a0e9d19a0cb61b72e0 |
|
14-Sep-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Update ImageView state tracking Create IMAGE_VIEW_STATE class to hold VkImageViewCreateInfo and update related state tracking. This class derives from BASE_NODE in preparation for tracking in_use for ImageViews consistent to other object in_use tracking.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
5a1776c2f613625a6fc6fd205f315996b743d86a |
|
31-Aug-2016 |
Chris Forbes <chrisforbes@google.com> |
layers: Fix reporting of multiple allowed image view types This isn't the problem we were hitting in #890, but we'd produce a misleading message if multiple bits were allowed Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
763bcfac4084ffc64013bc224743507b024faae0 |
|
31-Aug-2016 |
Chris Forbes <chrisforbes@google.com> |
layers: Don't spuriously produce an error if there are no view type bits set Previously we'd complain about any input attachment, since we don't constrain its view type at all. Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
1abb984ebd667af808ed308ddf79cbaeaed129ca |
|
22-Aug-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Update descriptor binding to use an ordered map When dealing with dynamic offsets, the binding numbers, and array indices within a binding, are all sequential. This is according to the spec "Descriptor Set Binding" section which states, "...entries are ordered by the binding numbers in the descriptor set layouts; and within a binding array, elements are in order." This means when processing the binding numbers to validate the dynamic offsets at draw time, we should do so in order to make sure that the sequential dynamic offset index correctly correlates with the dynamic offset being processed.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
8316bb0ecea76b15e75029ee634a282f7429e851 |
|
17-Aug-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add cmd buffer binding for descriptor resources This commit creates bindings between a cmd buffer and the images/buffers and their memory allocations that are tied to that cmd buffer's active descriptor slots (set/binding combination). The active resources are anything that's in use during any of the draws issued in the cmd buffer. If any of the bound resources are deleted, the cmd buffer will become invalid and an error will be issued on the next attempt to submit it.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
56f8a8f9b7e8c01d76d73be117ebcb66035db6df |
|
17-Aug-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add tracking between sampler and cmd buffer Update SAMPLER_NODE to inherit from BASE_NODE and keep track of cb_bindings for sampler. At draw time, add any bindings between cmd buffer and samplers that are connected to active descriptors. At DestroySampler() time, set CB_INVALID for any cmd buffers in cb_bindings. Also includes some additional plumbing to prepare for connecting images/buffers that are tied to descriptor sets to cmd buffers that those sets are bound to.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
aa21bc3b3c5c7adfeb488fc80bdcb339d63615b8 |
|
17-Aug-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Only bind active sets to cmd buffers Don't create a binding between every set bound to a cmd buffer, but only the sets that are verified active at draw time. Gather up active descriptorset bindings in prepration of also binding the resources from each individual active set to the cmd buffer.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
a45bdcb94b2fbda36bc191e12cc20218f62fb0e0 |
|
21-Jul-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add descriptor sets to CB_INVALID tracking This is start of a series intended to enable CB_INVALID tracking for descriptor sets. Much of the tracking is already in place in the special-purpose uniqueBoundSets data struct, so I'll be migrating the tracking from that struct to the more general-purpose object_bindings set.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
545e6f9a7c02e861c1c63082902b9ce025ed0156 |
|
22-Aug-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Fix spelling dynami->dynamic
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
366c38bafc7ab9e7b899c6731b6a2824420c03b9 |
|
26-Jul-2016 |
Chris Forbes <chrisforbes@google.com> |
layers: Validate image view type requirement for descriptor sets Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
b2a61f3cd17c68887759817059fa1872f1e1464a |
|
25-Jul-2016 |
Chris Forbes <chrisforbes@google.com> |
layers: Add plumbing for descriptor requirements We want to be able to impose requirements on images & views bound to descriptor sets based on their usage in the shader. This adds the plumbing from pipelines into descriptor sets to enable that. Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
462b10fb9164f7b10d547d5999beaa87c021e731 |
|
20-Jul-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Validation buffer descriptor updates for bound memory When updating buffer descriptors, make sure that there is memory bound to any non-sparse buffer. Add comment that we don't need to do this for image descriptor updates because they require the imageView (not just image) and we already validate at imageView creation that memory is bound to image.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
de7672b6b749c09c5991bd8038b3a35ef82a69dc |
|
18-Jul-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Remove DRAWSTATE_INVALID_POOL check This check was only flagged when Allocating descriptor sets or resetting a descriptor pool, and in both cases object_tracker will be the first layer to identify and flag the error. Removing this as a redundant check and updating documentation.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
5badc7fe9a2ef2917f0f312af7a4191dec7e2589 |
|
02-Jul-2016 |
Tobin Ehlis <tobine@google.com> |
tests: Add tests for invalid VkDescriptorBufferInfo Hit 3 new checks just added for VkDescriptorBufferInfo: 1. offset larger than buffer 2. range of 0 3. range larger than buffer size minus offset Also update descriptor write and copy update error enums to be more clear, along with also updating documentation.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
b6ea68a3913828edff5655b1608f97eb292dcb8a |
|
02-Jul-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add validation for VkDescriptorBufferInfo struct For a descriptor write update to a buffer type, verify that the contents of VkDescriptorBufferInfo struct are valid according to valid usage guidelines of the spec. Spun off the usage bit validation into its own function ValidateBufferUsage(). Previous ValidateBufferUpdate() function now calls that function as well as performing all of the checks for the buffer, range, and offset members of VkDescriptorBufferInfo struct.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
e1cc7cf9e8a7808209ecc45df2421f3a494daccc |
|
25-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Unify invalid command buffer handling Created a single vector to track any cmd buffer dependencies that are destroyed and thereby cause the cmd buffer to become invalid. Currently just tracking the previous object types of descriptor sets and framebuffers, but will update the tracking to include all cmd buffer dependencies in future commits.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
d119d1f6896796f6387925babceff3924be76199 |
|
21-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: GH616 Improve descriptor set invalid binding handling Prior to calls to get an global index from a binding, make sure that HasBinding() is called to verify that the binding exists. Added HasBinding() calls to a couple of validation functions for early exist. Updated code comment to indicate that HasBinding() call should precede GetGlobal*IndexFromBinding() calls. Added assert() to GetGlobal*IndexFromBinding() calls in the error case to make error more obvious in debug builds. Note that Perform*Update() functions already indicate that they should be preceded by their matching Validate*Update() functions, which include the appropriate checks for HasBinding(). case the Validate*Update() funciont
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
b0f6d2946e9153c8f4ab77571935865a738f4ad8 |
|
15-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: GH644 Validate DS image aspect bit restriction If a DS image is used in a descriptor, regardless of the underlying image layout, we need to validate that BOTH DEPTH and STENCIL aspect bits are NOT set. Only one of the two bits is allowed.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
fdc4acc89017a2be4a4bec9f5608e622a75f5f14 |
|
20-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Fix dynamic descriptor count When creating descriptor set layout, we were only incrementing the dynamic descriptor count by 1 regardless of the number of descriptors in a binding. This fix increments the count by the number of descriptors in the binding.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
e3f7c45fd64a44a67ce96c89e2bbee426c6ecf24 |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Clean up poolMap access Remove some unneeded passing of poolMap around and use getPoolNode() function in DescriptorSet class.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
b110cb87b9478586719d7f7dc769b350857366ba |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Added getSwapchainNode() helper Added getSwapchainNode() helper to core_validation and update DescriptorSet class to use it.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
170dc65b45f6bcdec47e02b3aa19435e55b32804 |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add getSwapchainFromImage() helper Add getSwapchainFromImage() to core_validation and use it from DescriptorSet class.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
5f5aad3ea9e850c28720eac312d100209956cdee |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Remove unneeded layout_map
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
6d1373829eded68f6e080ff2c33e03231360ed57 |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add getImageNode() helper Add getImageNode() helper to core_validation and use it. Also update DescriptorSet class to use the helper and kill its image_map member.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
2c59c1d90b22aa759d785e4233e468616990ff92 |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add getImageViewData() helper Switch imageViewMap to store unique_ptrs. Add getImageViewDate() helper to core_validation and update DescriptorSet to use it.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
9a55ca3674bb3fac3fbdfca9515a16a224aa9055 |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add getSamplerNode() helper Kill sampler_map_ in DescriptorSet and add getSamplerNode() helper and use it instead.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
2f2db584f5d79892bd84d0a24b8ca3499985a5c2 |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add getBufferViewInfo() helper Add helper function to core_validation for bufferViewMap look-ups and use the helper in DescriptorSet class.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
57fc8e28c2e16118f9827e3ae1b107a27e0451a2 |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Update getMemObjInfo helper Standardize core_validation use of getMemObjInfo() and update DescriptorSet class to use it as well.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
8718070cf3e206488c168f1e6b9dd06d6880c9bc |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add getBufferNode() helper Move core_validation bufferMap to use unique_ptr to BUFFER_NODE. Perform bufferMap look-ups using getBufferNode() helper function. Update DescriptorSet class to use getBufferNode() helper and store layer_data instead of bufferMap.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
104ab082916e41467ef60baaab7a5a8b2e02c59c |
|
02-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Make layer_data visible to DescriptorSet This is the start of migrating core_validation::layer_data to be visible in DescriptorSet class. DescriptorSet class can't see the contents of layer_data, so it also needs the get<Object>() helper functions to look up items from the maps. This first change only brings along getSetNode() utility function so only set_map references can be removed. Will add follow-on CLs to remove more maps from DescriptorSet class and bring in more utility functions.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
7f61868b44f1da1dfa6a4ff726020411db92ce0d |
|
01-Jun-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Pass common data between pre/post AllocDescriptorSets With the break between PreValidate* and PostRecord* calls in the layers we can suffer having to do some repeat work in the Post step. In order to prevent this, this CL slightly modifies the interface to pass common data between the pre/post calls in a custom AllocateDescriptorSetsData struct. I initially attempted to fill this data in a separate function that would preceed the PreValidate* call, but such a function would need to include some validation as it includes map checks which may fail. The simplest solution, then, seems to be passing a ptr to the common data to the PreValidate* function who then fills the data. If the validation and call down the chain succeed, the PostRecord* function then takes a ptr to the common data to prevent having to redo the work that was done at validation time.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
7e73e5c6b3020b96a821985f73012f2af0f1b992 |
|
26-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add DescriptorSet interface for allocation Create a top-level "Validate" and "Perform" interface for the vkAllocateDescriptorSets() function in DescriptorSet class. Refactor AllocateDescriptorSets() in core_validation to use the new interface. All checks are now performed in a "Pre" function and all state updates are recorded in a "Post" function.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
7381ec6aff7976baf550f9918bc914c486ec5a04 |
|
02-Jun-2016 |
iostrows <igor.ostrowski@intel.com> |
layers: GH611 Fix dynamic offset indexing
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
bb4e127ade02cab07e173500a3c6f3e9bb52cfc2 |
|
25-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: DescriptorSet class indentation fixes More cases where "else" blocks weren't needed because the "if" block returns.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
36c6435049204bbdbd4909005b431a5717b8041e |
|
24-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Improve descriptor copy update validation Add buffer usage bit validation for descriptor copy updates. Pass down known descriptor type to copy validate function to avoid having to look it up again. Fix various incorrect "write" references in the copy update error messages.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
0186bd5a2cccdc8b1552d1235d3dc4a10287b66b |
|
24-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Remove unneeded else block The "if" case returns so no need for this else block or the indentation that it includes.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
e2de40ad4581afb9c4b5f00c74d2a77918e2f4a7 |
|
24-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add usage bit validation for buffer descriptors Verify that buffer used to update all buffer descriptor types (texel or general) has the correct usage bits set. descriptor
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
24bc74a0ff49ef2ddf6f13b0498e3eb8b849190e |
|
24-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Add usage bit validation for image descriptors Verify that images used in imageView that's passed to various image descriptor types have the correct usage bits set.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
a79d75bd6a8e1224d5d32c8d3d646eecfca18bb9 |
|
30-May-2016 |
Chris Forbes <chrisforbes@google.com> |
layers: take better advantage of emplace_back in descriptor sets Doesn't win us anything to use emplace_back to invoke a copy constructor. Construct the unique_ptr from raw ptr in-place instead. Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
d77f9c625a93fa4973ef3e5a35da5129b5f34ecd |
|
31-May-2016 |
Chris Forbes <chrisforbes@google.com> |
layers: Remove old hacks for imprecise descriptor tracking for compute We do it properly now. Signed-off-by: Chris Forbes <chrisforbes@google.com>
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
9319aad73ddc9ceea3a19dc1b2a51e707b888f2d |
|
19-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: DescriptorSet class clean-up Minor formatting improvements, removed some useless "const" decls and unused vars and updated a few error codes to be more appropriate.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
b58b69ad3fa4ea6a37b67f7bae974e86a07ef354 |
|
19-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Verify that src of copy update is updated Before verifying source update comments make sure that the source descriptors have been updated. This guards against some obscure corner cases where a bad source descriptor could slip through the content verification.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
6b67c2aac9862a21e0dd068966c8b0b3aaf0bafd |
|
18-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Refactor DescriptorSet update interface Mainly refactor and moving code in order to provide an interface to DescriptorSet class that matches top-level vkUpdateDescriptorSets() function. Split the validation of an update as a separate task from performing the update. This allows validation prior to calling down the chain and then only update the state if validation is clean. Hoisted all of the update validation into the DescriptorSet class which prevents having to copy all of the maps into the individual Descriptor classes. This simplifies both their creation and updating their contents. Updated the top-level core_validation UpdateDescriptorSets() code to match Vulkan Validation Layer Authoring Guidelines. As this is an initial POC for the architecture, I kept the Pre* & Post* functions in the core_validation.cpp file, but they should eventually be spun out.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
fda02154007d70e5c078c29585c5e8fdd90ebc5f |
|
17-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Improve DescriptorSet cleanup Create private helper function InvalidateBoundCmdBuffers() within the DescriptorSet class to unify invalidate cases due to set being updated or freed. Add a destructor for DescriptorSet to make sure that no bound cmd buffers hang on to deleted set references.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
9d17becd811b49e1ecf91a02eee22f9cf7cbc026 |
|
17-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Refactor DescriptorSet Update code This migrates code for DescriptorSet in_use and flagging bound command buffers as invalid from core_validation.cpp into DescriptorSet class.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
c20ad7c6c296ae63b46170068cf469edc5bfb995 |
|
05-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Migrate VerifyUpdateConsistency to DescriptorSetLayout class This was in the DescriptorSet class, but really belonged in the Layer. There was also a bug where it did not correctly handle the case of an initial offset that oversteps the size of the first binding being updated. That is legal according to the spec so added code to handle that case by walking the bindings until we get to the actual binding on which the first update will occur.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
958678d33c9de693ddbf4c914036d38635edd366 |
|
05-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Store layout bindings_ by value instead of ptr Kill the ptr to safe_VkDescriptorSetLayoutBinding in DescriptorSetLayout class. This saves us the "new" and the need for a custom destructor. Couldn't do this initially but I've since added copy constructors to all of the safe_* struct types.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
683d27a244d39559d501eb89ae5a175decb3e31c |
|
05-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Remove unused IsUpdated(uint32_t) from DescriptorSet class All of the functionality that I thought I would need this for is contained in the ValidateDrawState() function.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
9b75a75125a3539106dcbafa956a3ac7ca7b6c67 |
|
05-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Removed unused full_update_ from DescriptorSet class I originally added this thinking it would be useful but currently unused and not correctly tracked so just killing it.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
631ac48b00310e3997eb63f3734909b7d015df8a |
|
05-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Remove use of map at() function from descriptor_set class
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
bd6e25b0182a29b6502791a4184de94e73c5f714 |
|
05-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Clean up access to descriptors_ vector Migrate a number of unneccessary .at() calls to just use [] operator. Also replace push_back() calls at descriptor creation time with emplace_back().
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|
cb9ce9e05b8e939d3da35c64997c70049877f4fe |
|
03-May-2016 |
Tobin Ehlis <tobine@google.com> |
layers: Rearchitect Descriptor Set validation code This change pulls all of the DescriptorSet code out of core_validation.cpp and into its own files/classes in descriptor_set.h/cpp. See header file for complete class documentation. These changes pass tri/cube/smoketest --validate. All related layer validation tests are also updated and passing. Finally, I ran it through mustpass CTS and did not hit any issues related to these changes. These changes not only update the descriptor interface but fix some known lingering bugs with how descriptor updates occurred. This includes now correctly handling updates that cross binding boundaries and updates that write a subset of a binding. Going forward this is a general outline for how we would like to evolve core_validation. That is, we'd like to move the functionality of the checks into reasonable classes and just have core_validation call into those classes to do the majority of the work.
/external/vulkan-validation-layers/layers/descriptor_sets.cpp
|