| Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
With updated test names in database.
Change-Id: Ie6cb2dfa9fa84de2dd0dea645249fe03c6780eba
|
|
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.
|
|
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.
|
|
|
|
i.e. disambiguate extension VUIDs from similar VUID in core
|
|
- fix #1752
- handle possible overflow of `level`+`count`
- include correct err code in msges
- update and add some tests
|
|
These aren't the same type!
|
|
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.
|
|
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.
|
|
Simplified source and consolidated usage.
Change-Id: I662a94381f3b6119978a53308dc616e942259941
|
|
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.
|
|
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
|
|
Split TransitionImageLayouts and TransitionImageAspectLayouts into
ValidateXxx and TransitionXxx routines.
Change-Id: I19666e5ccc444cfc23304fd35aa1b9b18b039499
|
|
PreCallValidateGetImageSubresourceLayout() from core_validation.cpp
to buffer_validation.cpp
Change-Id: Ic55e049fab28384d30768e8c590f158e603dd343
|
|
Moved state updates out of precallvalidate routines into
precallrecord routines.
Change-Id: If13e8a14cabc2b63a53f5369c33b1e632b15ff3a
|
|
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
|
|
Moved the image layer validation for buffer-image copies to the
buffer validation module.
Change-Id: If8ff8aa183f88560dc5db9d59c92346ee47b01e9
|
|
Change-Id: Id029c12d36b6327ac73c43879f315513c71b13d1
|
|
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
|
|
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
|
|
Moved pre/post routines to buffer module, along with a couple of
functions.
Change-Id: Ibb67bf18ed376a37666f171c4e30676fa18157ca
|
|
Change-Id: Ic0004cad00ba04295e8c05a703a085e07d3ad56e
|
|
Refactored this API and moved routines to buffer validation module.
Also moved several related helper routines.
Change-Id: I5859c3413290c81983f7e1b30ddb75928448fb20
|
|
Moved PreCallValidateCreateImageView and the postCallRecord routine,
along with a couple of helpers: ValidateImageSubrangeLevelLayerCounts
and ValidateImageAspectMask.
Change-Id: I1d94ecee6244010d71cf910a95aeb320c30fc0fb
|
|
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
|
|
Add "using core_validation::layer_data;" to descriptor and buffer
validation files. This cleans up the code without adding any confusion
or name collisions.
|
|
Change-Id: Ib9d9c169b1306a7ed6f243bbb957719305340a2e
|
|
ValidateLayoutVsAttachmentDescription and ValidateLayouts now reside
in the buffer_validation module.
Change-Id: I66ce6ecba882b0e5acb70410ef2b99d32070feb0
|
|
Var names and clang-format.
Change-Id: Ie125d03b808c40e35d6cf494230a48eb951195bc
|
|
Moved ValidateMaskBitsFromLayouts, ValidateMaskBits, and
string_VkAccessFlags from CV into the buffer module.
Change-Id: Ifaf509c59778c54e733c27e7ac0381ad2cb324c0
|
|
Change-Id: I358250b6cacd42e4c2b28b324e3683b51efe75e0
|
|
Added the validation from this API to the existing pre-call routine
in the buffer validation module.
Change-Id: I31eb2c9851b310c38ae2bc573dfaa5c147dac6d6
|
|
Moved the guts of this layer's CmdBlitImage API into the PreCall-
Validation routine in the buffer module.
Change-Id: I353c30c72faf577be22e36c786ed7851997a0011
|
|
Moved to the buffer validation module.
Change-Id: Ic80b327e7ddd4c2e699587bd0b664b91462ee8da
|
|
This validation routine and helpers now reside in buffer_validation.
Change-Id: Icd487e400a17f952b59a426d7268d38ea4c17c69
|
|
Moved from image layer into buffer module.
Change-Id: If4a826cd8ce311a30d2ce15a820459dbe4b96743
|
|
Moved image layout related validation and support routines out of
core validation and into the buffer_validation module.
Change-Id: I85ce2c5172d9a89e465e29fe2d6abdaab1f99747
|
|
Saved some lookups by sending down state instead of images in the
image validation helper functions.
Change-Id: I2b21218596b8e980d4f55451a5feccdb2dac6360
|
|
Moved the new CmdClear[Color/DepthStencil]Image support routines
to the buffer_validation module, along with some related helper
functions.
Change-Id: I76a4b545e696bbc770ef0c672d14c92e4a941e49
|
|
The image layer checks for this API were moved to the
buffer_validation module and a call was added to CV.
Change-Id: I04b23843519d2354c952afebc3a3428b196339e3
|
|
Changed to use layer_data accessor functions instead of passing in
items individually.
Change-Id: I55b92a4e0a6fff0e74516b9249c213f7d514cc8e
|
|
Moved CHECK_DISABLED into CV_types.h, moved validation and recording
routines into buffer_validation.cpp.
Change-Id: I103d0fc9c2e985d98943471ec6f83898c58bfdfe
|
|
Was in Image layer. Added layer_data accessor functions.
Change-Id: I55b7896cfc9de81210c9fba4d332998c827f5d44
|
|
Switch clang-format standard from the LLVM style to the
Google style for more consistency.
Change-Id: I247c4abc275d7873a91522e1e234198adaa24033
|
|
Change-Id: Idfcc569d3985a4ff31503535af9c8329c6304f6a
|
|
- 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
|
|
As image layer is folded into CV, image- and buffer-related
checks will reside in these modules.
Change-Id: Id261cc0d40eaa51211c36bb1fa82d0cbbaf1a6f5
|