| Age | Commit message (Collapse) | Author |
|
These aren't the same type!
|
|
Except for swapchain.cpp, which is undergoing a merge into CV.
Change-Id: I8b18518ef662a9a11a808ef3dce1b8f60d858fb3
|
|
Change-Id: I3b4208ca3777ac46b2c5ab2839c268ed4381a2ac
|
|
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
|
|
Change-Id: I36c175e78d7a33667f1485ed0e53f1dadab62a31
|
|
We used to care how many draws there were. Now we just care whether
there were /no/ draws (in one place)
|
|
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.
|
|
Check base+count instead of just base. Fix FramebufferCreateErrors test
to use the correct number of mip levels. Also, add a test for count,
fix a few function names, and apply some soothing const cream.
Change-Id: Ib2deb8bc27e76138f83b3dd32529583a30085cda
|
|
Another massive update. Totally overhauled the mapping algorithm.
The basic outline of the new algorithm is:
-Try to map complete error message to prev ID
-Then try to map error msg w/o link to prev ID
-Finally try to map just core error string (no section) to prev ID
-Else assign it a new unique ID
See code for complete details.
In anticipation of integrated uniqueIDs I took a little liberty with
this update in that I didn't attempt to remap EVERY new ID to previous
IDs. I did many of them and made sure to account for every previous ID
that was implemented.
IDs will all be undergoing a one-time change with their integration
into the spec anyway so there is little harm in letting non-implemented
IDs drift a bit for now and it helps save my sanity.
I did add a validation step to the spec.py script to make sure and flag
any IDs that previously were implemented and suddenly are no longer in
the re-mapped version of IDs.
I manually presevered IDs 911 & 912 which get masked from the extension
spec.
I also had to do some manual updates on an offline spec to keep the
parser from breaking on the non-xhtml compliant spec.
Command line was:
python spec.py -update -remap 92-72:97-77:112-92:116-96:123-103:124-105:
133-114:148-2349:154-133,2:156-135:157-139:204-156:205-155:206-154:
417-269:1189-769:1417-938:1446-965:1448-967:1449-968:1487-974:
2193-1430,5:683-496:684-494:728-529:729-527:1628-1086:1731-1180:
1736-1183:1796-1234:1815-1251
|
|
Change-Id: I4d192db22c51d2e9224b74487bfd5d6a58405028
|
|
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
|
|
Skip checks that no longer apply when VK_KHR_maintenance1 is enabled.
Change-Id: I84d0fe889d0e567045aeb7fa7463dd2ec0d56789
|
|
Simplified source and consolidated usage.
Change-Id: I662a94381f3b6119978a53308dc616e942259941
|
|
Split validation of command pool queue flag checks into a dedicated
function and add valid usage error enums.
Change-Id: I4fc4e71d96b818c281ad310dd0d15bca508efb94
|
|
Also fixed up validation tests to handle message formatting changes.
Change-Id: I8671ae531d473bebdc034c33edcd9617ab96b836
|
|
Also updated some C-style casts and added TYPE_UNKNOWN where
appropriate.
Change-Id: Ia9c1d013dd73c4f6785df6151ee71715e310187b
|
|
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.
|
|
VerifySourceImageLayout() and VerifyDestImageLayout() were nearly
identical so I generalized a couple of pieces and combined them in the
single VerifyImageLayout() function.
|
|
Change-Id: I392aba1398381205728aead48d6cfd10aa47ac90
|
|
Added 2 VU checks for aspectMask on image copy. Added
test CopyImageAspectMismatch to provoke these VUs, and
a handful of other aspect mask VUs previously done but
missing tests.
Change-Id: Ib9c3eb9d95a9295ec485bb14b4221d4198fa6904
|
|
Added check for valid usage 01185. Added test
CopyImageSampleCountMismatch() to verify the check.
Change-Id: I51e76e0334bd4f1c0fe564f241646fc8b788da1e
|
|
Fix ImageLayerUnsupportedFormat unexpected errors.
Change-Id: I7dd4f2b9bae69885abf5031a6257ee3f6fad21fb
|
|
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
|
|
Change-Id: I173c3d6e696e674c7a791838f6921763f03d1660
|
|
Change-Id: I53afd9b76957f1c955f3068a4d1ff99f0cc5f543
|
|
Change-Id: If1145276554ad8dda2839aa5bfc0b3c796873482
|
|
ResolveRemainingLevelsLayers() modified a copy instead of the live data.
Fixes issues #1522 and #1523
|
|
Fixed a bug in the buffer size calculation for compressed mip levels
when copying less than a full block at the perimeter. Added a set of
validation tests that exercise copies in/out of mip levels of
compressed textures. Added an image init() fxn to the test framework
that takes an imageCreateInfo input, to allow full control of image
varieties.
Change-Id: I240ed6e1f45889e58b759f8f261392725dadb498
|
|
This is a whole-file clang format of buffer_validation.cpp, with
no code changes. Left as a separate commit to avoid confusion with
the actual code changes within this file in the other 2 commits.
Change-Id: I4e09c0a465f5187d3753a88bcbafb0e8bee9d782
|
|
Adds 3 new valid usage checks related to the bugfix, and the
layer_validation_tests code to exercise 2 of them. The third check,
01277, cannot be provoked by a test because it would require a
compressed texture format with block z-dimension > 1, which does
not (currently) exist for Vulkan.
Change-Id: I6c467e64c420b6a453af57f7ff86e1465e132988
|
|
Bugfix and refactor for github issue 1507 (and lunar exchange #652).
Fixes buffer size calculation for compressed textures when copy
extent is less than block size, corrected for mip level. Layer tests
modified to avoid breakage from this fix.
Change-Id: If91d6f8c7ce17a3e012923304a3b178e750d2659
|
|
Remove redundant validation from ValidateCmdBufImageLayouts.
Change-Id: Ia7474e0ca7d0429a8413500f548e1cfbe9f708f1
|
|
Split TransitionImageLayouts and TransitionImageAspectLayouts into
ValidateXxx and TransitionXxx routines.
Change-Id: I19666e5ccc444cfc23304fd35aa1b9b18b039499
|
|
The image<->buffer copy validation was checking against texel block
sizes, but needed the block size in byte. Fixed the bad validation
errors and renamed existing util function and updated a compressed
texture size to match the spec.
Change-Id: I40b9635a4fab131ab1525da51e94c4c5577217be
|
|
Calling CmdClearAttachments in a secondary command buffer could
result in bad validation errors as existing checks rely upon
RenderPass begin info data that may not yet be present. Good
validation for this case will come in a follow-on patch series.
Change-Id: Ib169e26f506124f0c1ad75f57de3b6b5146df872
|
|
Fixed incorrect size calculations for image<->buffer copies
due to special packing rules of depth and stencil formats.
Added test code to layer_validation_tests ImageBufferCopyTests to
exercise these checks.
Change-Id: I90446379ba8888bf91eda6567e18fa1aae9593b1
|
|
PreCallValidateGetImageSubresourceLayout() from core_validation.cpp
to buffer_validation.cpp
Change-Id: Ic55e049fab28384d30768e8c590f158e603dd343
|
|
Fixes #1454
For image views into depth/stencil images we need to make sure that
both the depth and stencil aspects have their layouts transitioned to
the initialLayout setting for the first subpass.
|
|
Change-Id: Id768e9e8967c687e7592169bae6d40652b58fa4f
|
|
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
|
|
Currently the spec allows memory to be mapped regardless of format.
However, because the memory cannot be used by the device in a predicable
way unless the format is PREINITIALIZED or GENERAL we still need a
warning here.
Change-Id: Ie50b21c0840d97409e40d7f9187f34b9552050f2
|
|
Simplified core_validation->descriptor_sets/buffer_validation.
Change-Id: I6921ac458bce5899e8bd60145bfaa0e0f5e8a2ac
|
|
Change-Id: Ic0004cad00ba04295e8c05a703a085e07d3ad56e
|