aboutsummaryrefslogtreecommitdiff
path: root/layers/buffer_validation.h
AgeCommit message (Collapse)Author
2017-11-17layers: add image layout validation to vkCmdBlitImage()Norbert Garnys
2017-09-05layers: Fix leaking backing sets for push descriptorsChris Forbes
We'd previously leak any temporary descriptor set left bound to the pipeline at the end of the command buffer. Rearrange things so we can use unique_ptr and assure it's always cleaned up correctly.
2017-08-09layers: PR1950, Update subresource range VUIDsPetr Kraus
With updated test names in database. Change-Id: Ie6cb2dfa9fa84de2dd0dea645249fe03c6780eba
2017-07-18layers:Refactor barrier validationTobin Ehlis
Migrate validation for renderpass barrier in CmdPipelineBarrier to its own function. Refactor some device and command buffer params to avoid duplicate look-ups. Add some const decls to command buffer state that shouldn't change down the pre-call path.
2017-06-27layers: Don't copy all the image subresources every submitChris Forbes
The set of subresources touched by this submission is likely to be very small compared to the complete set we're tracking. It doesn't make any sense to copy this entire hashtable in each submit call. Instead, maintain an overlay table with the submission's modifications in it. Saves approx 12s in an internal workload.
2017-06-19Remove dead cmd_type param from PreCallRecordCmdClearImageChris Forbes
2017-06-08layers: Update subrange checks+tests to new VUIDsPetr Kraus
i.e. disambiguate extension VUIDs from similar VUID in core
2017-05-19layers: GH1752, Update ImageSubrange checksPetr Kraus
- fix #1752 - handle possible overflow of `level`+`count` - include correct err code in msges - update and add some tests
2017-04-26layers: Fix some confused VkBool32 vs boolChris Forbes
These aren't the same type!
2017-04-14layers:Add image layout validation for descriptorsTobin Ehlis
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.
2017-04-07layers:Refactor image layout validationTobin Ehlis
Streamline some of the image layout validation code. At the time of CmdBeginRenderPass() remove the layout transition from validation code and perform the layout transitions all at once. This allows a bit of transition code to be killed so that the initial transition code can share TransitionSubpassLayouts() function.
2017-03-23layers: Refactor ResolveRemainingLevelsLayersMark Lobodzinski
Simplified source and consolidated usage. Change-Id: I662a94381f3b6119978a53308dc616e942259941
2017-03-22layers:Refactor image layout verify/setTobin Ehlis
VerifyImageLayout had a side effect of setting image layout state if the layout had not been seen by the cmd buffer. This update moves the code to set the layout outside of the verify function and instead puts it into new SetLayout* functions that are now called in the appropriate PreCallRecord* functions. Note that the previous behavior caused a side effect where layouts could be updated even when the call down the chain did not occur. The updated behavior will always update the layout to what is passed as the explicit layout for any image copy operations whenever the call down the chain is made. This is desirable b/c if the layout didn't match the app saw the error during the Validate* portion of the call and if they chose to ignore it then validation should reflect the layout state of the image that was set by the call. Since the side effect mentioned above is no longer present, this change includes an update to InvalidImageLayout test where a second call to vkCmdCopyImage() is made in order to actually transition the initial image layout state so that expected errors are correct going fwd.
2017-03-14layers: Implement VU 00303-00308Mike Weiblen
Implement Valid Usages 00303-00308 with new function ValidateBarrierLayoutToImageUsage() which verifies an ImageMemoryBarrier's old/new ImageLayouts are compatible with its Image's ImageUsageFlags. Rename ValidateImageLayouts() to ValidateBarriersToImages(). Rename some variables: - internal vars to use Google style. - vars passed verbatim from Vulkan to use Vulkan names. Fix issues revealed in layer tests due to these new checks: - 2 new Unexpected messages in VkLayerTest. - 1 failing VkPositiveTest. Update VU database for check_implemented = Y. Change-Id: I8723f99d515fbea707299b4d1fcf33a4da6b7b0b
2017-02-28layers: Split layout transition validation/recordingMark Lobodzinski
Split TransitionImageLayouts and TransitionImageAspectLayouts into ValidateXxx and TransitionXxx routines. Change-Id: I19666e5ccc444cfc23304fd35aa1b9b18b039499
2017-02-21layers: Move code to preferred cpp fileMike Weiblen
PreCallValidateGetImageSubresourceLayout() from core_validation.cpp to buffer_validation.cpp Change-Id: Ic55e049fab28384d30768e8c590f158e603dd343
2017-02-16layers: Separate val/state updates in buff-img copyMark Lobodzinski
Moved state updates out of precallvalidate routines into precallrecord routines. Change-Id: If13e8a14cabc2b63a53f5369c33b1e632b15ff3a
2017-02-16layers: Move buffer/image validation out of CVMark Lobodzinski
Moved guts of buffer-image-copy validation out of the core_validation module and into the buffer_validation module, integrating with the PreCallValidateXxx routines. Change-Id: Ia2f867b96532eee773d0a6b899fbff160ac7b4d6
2017-02-16layers: Move image layer image-buffer-copy to CVMark Lobodzinski
Moved the image layer validation for buffer-image copies to the buffer validation module. Change-Id: If8ff8aa183f88560dc5db9d59c92346ee47b01e9
2017-02-13Clang-format for recent QueueSubmit commitsTony Barbour
Change-Id: Id029c12d36b6327ac73c43879f315513c71b13d1
2017-02-13layers: Separate validation from state in QueueSubmitTony Barbour
Change-Id: I95878805bfc025afd60ba2167aeb78dba064b56e layers: Rework semaphore signal tracking in QueueSubmit Change-Id: I6ee12fd44ebd42c1a4e14bb7fd0eae300489d413 layers: Better submit count tracking in QueueSubmit Change-Id: I90065fc4546354cb2be14be9143356132ac2f3df layers: Improve image layout tracking in QueueSubmit Change-Id: I6e10c8a6d18730939dfa0a5d5e452a23c540f94e layers: Move cmd collection from validate to record Change-Id: I89df7358f1916ea4688d4b8cfe2cb870f946b3d9 layers: Fix command buffer submit count in QueueSubmit Use vector and count instead of unordered_map Change-Id: I227951085af7df0c288cb3563d17a04d7f2f41e1
2017-02-13layers: Refactor CmdFillBufferMark Lobodzinski
Separated validation from state updates, refactored for pre/post and moved these functions out of core_validation. Also updated for coding style. Change-Id: I9b24bc8c951fd1df99a65db5fa8f1d0412488192
2017-02-13layers: Move destroybuffer/bufferview out of CVMark Lobodzinski
Moved pre/post routines to buffer module, along with a couple of functions. Change-Id: Ibb67bf18ed376a37666f171c4e30676fa18157ca
2017-02-10layers: Refactor CmdCopyBuffer for pre-post styleMark Lobodzinski
Change-Id: Ic0004cad00ba04295e8c05a703a085e07d3ad56e
2017-02-10layers: Refactor CmdCopyImage for pre/postMark Lobodzinski
Refactored this API and moved routines to buffer validation module. Also moved several related helper routines. Change-Id: I5859c3413290c81983f7e1b30ddb75928448fb20
2017-02-10layers: Move pre/post CreateImageView out of CVMark Lobodzinski
Moved PreCallValidateCreateImageView and the postCallRecord routine, along with a couple of helpers: ValidateImageSubrangeLevelLayerCounts and ValidateImageAspectMask. Change-Id: I1d94ecee6244010d71cf910a95aeb320c30fc0fb
2017-02-10layers: Move CreateBuffer/BufferView routinesMark Lobodzinski
Moved out of core_validation, refactored for pre/post calls. Moved ValidateImageUsageFlags, ValidateBufferUsageFlags, CreateBuffer, and CreateBufferView, along with a couple of helper routines. Change-Id: I7157369982d93b2327121406c208df36c15bcab4
2017-02-08layers:Add using statements for layer_dataTobin Ehlis
Add "using core_validation::layer_data;" to descriptor and buffer validation files. This cleans up the code without adding any confusion or name collisions.
2017-02-08layers: Move ValidateMapImageLayouts out of CVMark Lobodzinski
Change-Id: Ib9d9c169b1306a7ed6f243bbb957719305340a2e
2017-02-08layers: Move image layout validation helpers from CVMark Lobodzinski
ValidateLayoutVsAttachmentDescription and ValidateLayouts now reside in the buffer_validation module. Change-Id: I66ce6ecba882b0e5acb70410ef2b99d32070feb0
2017-02-08layers: Fix ValidateMaskBits routines for styleMark Lobodzinski
Var names and clang-format. Change-Id: Ie125d03b808c40e35d6cf494230a48eb951195bc
2017-02-08layers: Move MaskBits validation out of CVMark Lobodzinski
Moved ValidateMaskBitsFromLayouts, ValidateMaskBits, and string_VkAccessFlags from CV into the buffer module. Change-Id: Ifaf509c59778c54e733c27e7ac0381ad2cb324c0
2017-02-08layers: Move ValidateCmdBufImageLayouts out of CVMark Lobodzinski
Change-Id: I358250b6cacd42e4c2b28b324e3683b51efe75e0
2017-02-07layers: Move CmdResolveImage from image layerMark Lobodzinski
Added the validation from this API to the existing pre-call routine in the buffer validation module. Change-Id: I31eb2c9851b310c38ae2bc573dfaa5c147dac6d6
2017-02-07layers: Move image layer BlitImage val into CVMark Lobodzinski
Moved the guts of this layer's CmdBlitImage API into the PreCall- Validation routine in the buffer module. Change-Id: I353c30c72faf577be22e36c786ed7851997a0011
2017-02-07layers: Move CmdBlit/ResolveImage helpers out of CVMark Lobodzinski
Moved to the buffer validation module. Change-Id: Ic80b327e7ddd4c2e699587bd0b664b91462ee8da
2017-02-03layers: Move PreCallValCmdClearAttachments from CVMark Lobodzinski
This validation routine and helpers now reside in buffer_validation. Change-Id: Icd487e400a17f952b59a426d7268d38ea4c17c69
2017-02-03layers: Move CmdCopyImage validation into CVMark Lobodzinski
Moved from image layer into buffer module. Change-Id: If4a826cd8ce311a30d2ce15a820459dbe4b96743
2017-02-03layers: Move findlayout/setlayout & val helpersMark Lobodzinski
Moved image layout related validation and support routines out of core validation and into the buffer_validation module. Change-Id: I85ce2c5172d9a89e465e29fe2d6abdaab1f99747
2017-02-02layers: Plumb through image_state structuresMark Lobodzinski
Saved some lookups by sending down state instead of images in the image validation helper functions. Change-Id: I2b21218596b8e980d4f55451a5feccdb2dac6360
2017-02-02layers: Move image validation support to buffer_valMark Lobodzinski
Moved the new CmdClear[Color/DepthStencil]Image support routines to the buffer_validation module, along with some related helper functions. Change-Id: I76a4b545e696bbc770ef0c672d14c92e4a941e49
2017-01-31layers: Migrate image layer CmdClearColorImageMark Lobodzinski
The image layer checks for this API were moved to the buffer_validation module and a call was added to CV. Change-Id: I04b23843519d2354c952afebc3a3428b196339e3
2017-01-31layers: Update PostCallRecordCreateImageMark Lobodzinski
Changed to use layer_data accessor functions instead of passing in items individually. Change-Id: I55b92a4e0a6fff0e74516b9249c213f7d514cc8e
2017-01-31layers: Move DestroyImage code into buffer moduleMark Lobodzinski
Moved CHECK_DISABLED into CV_types.h, moved validation and recording routines into buffer_validation.cpp. Change-Id: I103d0fc9c2e985d98943471ec6f83898c58bfdfe
2017-01-31layers: Move CreateImage validation into core_valMark Lobodzinski
Was in Image layer. Added layer_data accessor functions. Change-Id: I55b7896cfc9de81210c9fba4d332998c827f5d44
2017-01-26repo: Clang-format LVL source files using GoogleMark Lobodzinski
Switch clang-format standard from the LLVM style to the Google style for more consistency. Change-Id: I247c4abc275d7873a91522e1e234198adaa24033
2017-01-17layers: Fixup CreateImage paramter listMark Lobodzinski
Change-Id: Idfcc569d3985a4ff31503535af9c8329c6304f6a
2017-01-17layers: Move CreateImage recording to buf/img moduleMark Lobodzinski
- Move source from core_validation.cpp into new module - Add new module to layers cmake file - Update android build scripts/makefiles for new files Change-Id: Ia4000b26384d96a551d727f5e37997372f01764a
2017-01-17layers: Create buffer/image validation moduleMark Lobodzinski
As image layer is folded into CV, image- and buffer-related checks will reside in these modules. Change-Id: Id261cc0d40eaa51211c36bb1fa82d0cbbaf1a6f5