| Age | Commit message (Collapse) | Author |
|
Change-Id: Ib96edb3a15a8496040c7ccb0db019ccbd92e94e7
|
|
Pick up a fix for built-in redeclarations.
Change-Id: I2b506e24b2cf619b07ff1c75ab0a9a05143379ca
|
|
Allow VK_VALIDATION_CHECK_SHADERS_EXT enum to disable the spirv-tools-
based shader validation in core_validation.
There were a few other pieces of internal shader validation and
tracking that were tied to the shader_validation bit but I re-enabled
those bits for now as we lose the active descriptor binding tracking if
those features are disabled. That would lead to a various other
features that need to be disabled to avoid crashes. Specifically the
connection between command buffers and active samplers, buffer, images
that are present in descriptor sets.
To test this I ran layer_validation_tests with the shaders disabled
and most tests work fine with only the ones testing internal shader
validation pieces failing as expected.
|
|
Kill a bunch of old stuff from spec.py now that we can use json file
for updating/tracking the VUIDs.
Update the error DB & header to be sorted by the new IDs.
Also add step to VU txt parsing to remove any backslashes which will
break compilation of vk_validation_error_messages.h.
|
|
Update vk_format_utils to classify PVRTC formats correctly.
Change-Id: Ie48883885725a28d62dbafa66151971e0f33a45e
|
|
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.
|
|
Update the validation error database to have a column that indicates if
any extensions are required for a given VU to be valid. If an extension
is required then the spec link will point into the spec with all
extensions, otherwise the core spec will be linked.
|
|
Include the new, string-based Valid Usage Unique IDs in the validation
database file. This will be use to map between the old ids and these
new ids.
These script updates are a bit hacky as the migration is underway and
function is being favored over form. Once migration is complete I can
strip down spec.py script to core functionality which should be much
cleaner and simpler than either the original code or this current form.
|
|
Initial changes to spec.py in order to parse json file of VUs
and convert string-based VUs into unique integer IDs that will be
used for the enum values.
Still need to get a clean json file and parse all of the VUs to
confirm that they're unique. Once that's done the actual conversion
will be a separate step.
The VUID string to unique ID mapping code is in vuid_mapping.py.
This includes tables for mapping from api/struct/param names to unique
ids and the convertVUID() function that takes a string and maps it to a
uniqueID.
|
|
Change-Id: I310d6d356b5c9377ff8285ee123def989e95b142
|
|
Update external revisions for glslang, spirv-tools, spirv-headers, and
shaderc.
Change-Id: Ie1f4afe2d36a6d8e3d1e166c23372f8f6523cf59
|
|
This change is required for upcoming revision of glslang, which requires
location on input/outputs but which does not allow location on
built-ins.
Change-Id: I9ba8989e5ac69bf422e16d4e7ffc7d33b9f71760
|
|
- updated include/vulkan/vulkan.h
- updated scripts/vk.xml
- updated layers json files
- updated tests json files
- build new verison of vulkan.hpp
- code fixups for deprecated DebugReportError enum
Note that this does NOT include any shader-checker support for the
VK_AMD_texture_gather_bias_lod extension, as this requires glslang
and SPIR-V updates.
Change-Id: Ie01aed143f2fad065c86e2a27e46fe32ccb9e1f7
|
|
I'm attempting to migrate to the new VUIDs that are integrated into the
spec this week so this will hopefully be the last update of this type.
Migration plan is:
-Update existing VUID database to include new, integrated, string VUIDs
-Update VUID db to include core/ext data from json
-Update links/messages in VUIDs
-Move all old VUIDs in the source to use new VUIDs
Command to perform this current update was:
python spec.py -update -remap 3076-2049,2
And I manually restored 911 & 912 which are in the core spec but not in
the extension spec.
|
|
|
|
Change-Id: I662a6a182680ef7da6ad51a738fcc5aaff54f043
|
|
Fix the layer count check in PreCallValidateCmdClearAttachments()
to compare against the view's layers, rather than against the
underlying image's layers. Update test CmdClearAttachmentTests
to provoke both clauses of the test condition.
Change-Id: I96d9440cbed3a290554410bb0574e6c443190a64
|
|
Fixed an oversight in FormatIsUINT() helper function, add VK_FORMAT_S8_UINT
to the list.
Change-Id: Ie01c2dbd1db7cdae1a4939543c00aa7b32ae31ff
|
|
Add CopyImageTypeExtentMismatch test.
Add CopyImageCompressedBlockAlignment test.
Update VU database.
Change-Id: I1d9948e9415da99f955cb6300f309bf5954144c8
|
|
Added 16 image copy checks called from PreCallValidateCmdCopyImage()
in buffer_validation.cpp. VUs 1209-1217, 1742-1745, and 2603-2604.
Change-Id: I5f63862a4451458b054c4b10cd218293d9e16289
|
|
Added table of all environmental variables. Also added note
about using LD_BIND_NOW usage for discovering problematic ICDs.
Change-Id: Iba4234b2226ab145491fc913f4361b098b21fd0b
|
|
Fix how the loader handles realloc calls. Instead of always overriding
the pointer, check to see if the allocation succeeds.
Also, set the paths in our run_all_tests.ps1 to global paths.
Finally, fix a spelling error in the test names.
Change-Id: I7b2e0d246dbe6353d29fb56367397c5d8767aaa2
|
|
Also implemented the VkSamplerAddressMode variant in terms of the generic
variant, and added a test to make sure that path is covered.
|
|
Consensus was that this warning was not helpful enough to overcome
the noise it caused. Removed the check from CV and the corresponding
test.
Change-Id: I03ad08b0911a810b2333273bf4594129efa5bae5
|
|
Some valid usage statements had sub-bullets but this was recently
updated so all VUs are on their own line. Updating the VUIDs so that
they align with the new text.
|
|
|
|
- fix #1752
- handle possible overflow of `level`+`count`
- include correct err code in msges
- update and add some tests
|
|
|
|
|
|
|
|
This is required for us to do proper invalidation.
|
|
Split the two individaul cases up, and write them clearly. Add a
third for the edge case of the one CmdExecuteCommands call including the
same non-simultaneous CB twice.
|
|
This allows some simplification down the line
|
|
|
|
Change-Id: I06befac273829cf54c1ba113be31da9ba3fee190
|
|
Change-Id: I53ae66929ed38d81eb52cc0307341d5c8f97cdc8
|
|
Modify spec.py to add the keyword NotTestable as a valid test name.
Use for VU checks that are implemented but which have no reasonable
method of testing.
Change-Id: Icd91e91b7c85484a8c652f970edc55d978829d81
|
|
It is perfectly acceptable for the FB member of this structure
to be NULL. Remove assert.
Change-Id: I22b207bc6d96e1bb4b7c5f71a8dd796da6639642
|
|
Also updated error DB with new test name (ExecuteUnrecordedCBs).
Change-Id: I5bb65b9a9b6bf93cbca5eceb66b2c7f7937ea313
|
|
Trying to execute an unrecorded secondary command buffer in an
active renderpass resulted in a nullptr dereference. Added null check
along with a warning for unrecorded command buffers.
Change-Id: I67f34da57a9eda422f2321ddc6f28b863c999f5b
|
|
Update core validation to save the results of
vkGetPhysicalDeviceSurfaceCapabilities2KHR,
vkGetPhysicalDeviceSurfaceCapabilities2EXT, and
vkGetPhysicalDeviceSurfaceFormats2KHR so they can be used to validate
swapchain creation.
Change-Id: Iea112df509a35d9bf606b35d4da8d680ae0d76a6
|
|
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
|
|
Change-Id: I0d2d893b68aea7df294796cf42a8c6d46fbfd441
|
|
Mostly automatic (i.e. probably missed some cases)
|
|
|
|
This no longer served any purpose, and entries were never cleaned up
when swapchains were destroyed.
|
|
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.
|
|
Running cube --validate generated erroneous validation messages saying
the swapchain images had not been correctly acquired. Fixed bug in the
shared_presentable_images support code.
Change-Id: I1a8adc38902bdf1b517fd4da8e0be55465d55e12
|
|
Add basic validation support for KHR_shared_presentable_image.
Change-Id: If6cc5abe6b41ed8580fc89bcf7c8103af971abc9
|
|
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
|