Xuelian Bai [Thu, 24 Mar 2022 08:03:52 +0000 (16:03 +0800)]
Upgrade to v1.3.208
1. Suppress mismatch warnings
2. Fix build&install errors
Change-Id: If4d6f1b447a540fd369b9bd6e05627a0b0b5f81c
Xuelian Bai [Fri, 28 May 2021 11:35:20 +0000 (19:35 +0800)]
Add build support for Tizen
1. Merge old commits
2. No Robin Hood hashing and google test, so they are disabled and no
tests
3. Add neccessary *INSTALL_DIR
Change-Id: I166b6d444e8a51348f2ae90b0a55bd02ff31e021
Signed-Off-by: Xuelian Bai <xuelian.bai@samsung.com>
Mike Schuchardt [Tue, 15 Mar 2022 22:36:46 +0000 (15:36 -0700)]
build: Update to header 1.3.208
- Update known-good
- Generate source
- Replace VkLayerTest.InstanceFlags with new test
VkLayerTest.ZeroBitmask since
VUID-VkInstanceCreateInfo-flags-zerobitmask was removed
ziga-lunarg [Mon, 28 Feb 2022 18:39:28 +0000 (19:39 +0100)]
tests: Test updating queries in multiple command buffers
ziga-lunarg [Mon, 28 Feb 2022 18:39:17 +0000 (19:39 +0100)]
layers: Fix updating queries
ziga-lunarg [Sat, 12 Mar 2022 13:29:32 +0000 (14:29 +0100)]
layers: Add necessary guards for object types
ziga-lunarg [Mon, 14 Mar 2022 23:11:16 +0000 (00:11 +0100)]
tests: Skip gpu oob test on amd
ziga-lunarg [Mon, 14 Mar 2022 17:06:44 +0000 (18:06 +0100)]
tests: Fix extended dynamic state enabled test
ziga-lunarg [Mon, 14 Mar 2022 17:06:31 +0000 (18:06 +0100)]
tests: Create pipeline with viewport and scissor with count
ziga-lunarg [Sun, 13 Mar 2022 15:17:40 +0000 (16:17 +0100)]
layers: Validate viewport and scissor with count
ziga-lunarg [Fri, 11 Mar 2022 01:54:27 +0000 (02:54 +0100)]
tests: Fix dynamic rendering test
ziga-lunarg [Mon, 7 Mar 2022 19:06:46 +0000 (20:06 +0100)]
tests: Test copying to unbound buffer
ziga-lunarg [Mon, 7 Mar 2022 19:06:30 +0000 (20:06 +0100)]
layers: Validate buffer memory in acceleration copy
ziga-lunarg [Mon, 7 Mar 2022 00:08:25 +0000 (01:08 +0100)]
layers: Track subpass only when dynamic rendering is not used
ziga-lunarg [Fri, 11 Mar 2022 01:35:48 +0000 (02:35 +0100)]
tests: Fix acceleration structure test
ziga-lunarg [Fri, 11 Mar 2022 02:19:21 +0000 (03:19 +0100)]
tests: Fix ray tracing library test
aitor-lunarg [Thu, 17 Feb 2022 21:55:55 +0000 (22:55 +0100)]
layers: Unbind resources with multiview at render/subpass start
ziga-lunarg [Thu, 10 Mar 2022 23:45:57 +0000 (00:45 +0100)]
tests: Test incompatible render pass and framebuffer
ziga-lunarg [Wed, 9 Mar 2022 01:26:12 +0000 (02:26 +0100)]
layers: Check vector size before access
ziga-lunarg [Tue, 8 Mar 2022 16:34:01 +0000 (17:34 +0100)]
tests: Test creating pipeline with invalid render pass
ziga-lunarg [Tue, 8 Mar 2022 16:33:45 +0000 (17:33 +0100)]
layers: Skip if pipeline state was not created
aitor-lunarg [Wed, 9 Mar 2022 21:13:25 +0000 (22:13 +0100)]
tests: Extend pipeline helper for multiple attachments
ziga-lunarg [Thu, 10 Mar 2022 00:04:28 +0000 (01:04 +0100)]
layers: Fix pipeline stage state
ziga-lunarg [Sun, 6 Mar 2022 00:21:01 +0000 (01:21 +0100)]
tests: Test creating pipeline with mismatched attachments
ziga-lunarg [Sun, 6 Mar 2022 00:20:27 +0000 (01:20 +0100)]
layers: Check attachments vector size before access
sfricke-samsung [Mon, 14 Feb 2022 01:01:25 +0000 (17:01 -0800)]
layers: ComputeWorkGroupSize with spec const
ziga-lunarg [Tue, 8 Mar 2022 23:30:22 +0000 (00:30 +0100)]
tests: Test buffer memory barrier with dynamic rendering
ziga-lunarg [Tue, 8 Mar 2022 23:28:45 +0000 (00:28 +0100)]
layers: Skip render pass validation if dynamic rendering
Jeremy Gebben [Mon, 17 Jan 2022 19:06:20 +0000 (12:06 -0700)]
docs: Add fine grained locking design document
This describes the current state of the implementation, including
many TODOs that need to be fixed before we turn this on by default.
Jeremy Gebben [Fri, 4 Mar 2022 17:32:24 +0000 (10:32 -0700)]
practices: Only track image usages if ARM checks are enabled
BestPractices::QueueValidateImage() can use massive amounts of memory,
so it should only be done if necessary.
ziga-lunarg [Mon, 7 Mar 2022 15:20:42 +0000 (16:20 +0100)]
tests: Test invalid memory in acceleration structures copy
ziga-lunarg [Mon, 7 Mar 2022 15:20:21 +0000 (16:20 +0100)]
layers: Validate memory of buffers in acceleration copy
Tony-LunarG [Fri, 25 Feb 2022 16:31:55 +0000 (09:31 -0700)]
tests: Add gpu-av dyn rendering test
Tony-LunarG [Fri, 25 Feb 2022 16:31:17 +0000 (09:31 -0700)]
gpu: Handle NULL renderpass
Petr Kraus [Sun, 6 Mar 2022 01:40:08 +0000 (02:40 +0100)]
tests: Add missing printf newlines
sfricke-samsung [Fri, 4 Mar 2022 14:02:43 +0000 (08:02 -0600)]
tests: Add VUID 06415
sfricke-samsung [Fri, 4 Mar 2022 02:34:23 +0000 (20:34 -0600)]
layers: Add VUID 06415
sfricke-samsung [Fri, 4 Mar 2022 02:33:59 +0000 (20:33 -0600)]
tests: Cleanup YCbCr tests to use vulkan 1.1
Jeremy Gebben [Thu, 24 Feb 2022 00:31:56 +0000 (17:31 -0700)]
layers: Let state tracker accessors to work with derived classes
Rework the templated state tracker accessor methods so that they
can work with derived types, such as those used by BP, GPUAV and
DebugPrintf.
Nathaniel Cesario [Thu, 3 Mar 2022 04:22:30 +0000 (21:22 -0700)]
tests: Fix extension and feature check
Tomasz Śniatowski [Wed, 2 Mar 2022 16:17:44 +0000 (17:17 +0100)]
layers: Avoid creating a nullptr std::string in LogError call
Calling LogError(..., 0, ...) is undefined because the second
argument is an std::string (and this generally crashes). Use
"VUID-Undefined" instead. Discovered while experimenting with a
(partial) C++23 build, where constructing a string from nullptr
doesn't compile.
Tony-LunarG [Mon, 28 Feb 2022 19:18:13 +0000 (12:18 -0700)]
layers: Check count before pointer in OT
ziga-lunarg [Sun, 27 Feb 2022 23:30:35 +0000 (00:30 +0100)]
layers: Check if renderpass is set before use
Jeremy Gebben [Tue, 22 Feb 2022 20:17:46 +0000 (13:17 -0700)]
tests: Add a check for VUID 03082
Jeremy Gebben [Mon, 21 Feb 2022 22:21:10 +0000 (15:21 -0700)]
tests: Add ObjInUseCmdBuildAccelerationStructureKHR test
This tests makes sure the buffers used are tracked even if
a device address after the start of the buffer is used.
Jeremy Gebben [Fri, 11 Feb 2022 16:31:18 +0000 (09:31 -0700)]
layers: Track buffs used by vkCmdBuildAccelerationStructuresKHR
Because the buffers are passed by a VkDeviceAddress that might not
be the start of the VkBuffer, the entire buffer address range
needs to be tracked.
Jeremy Gebben [Tue, 15 Feb 2022 23:33:16 +0000 (16:33 -0700)]
tests: Add ObjInUseCmdBuildAccelerationStructureNV test
Make sure the state tracker can detect if buffers used by this
command are freed prematurely.
Jeremy Gebben [Tue, 22 Feb 2022 17:56:04 +0000 (10:56 -0700)]
layers: Track buffers used in vkCmdBuildAccelerationStructureNV
Jeremy Gebben [Tue, 22 Feb 2022 17:55:48 +0000 (10:55 -0700)]
layers: Track objects in the accel struct <-> memory copies
Add tracking for vkCmdCopyMemoryToAccelerationStructureKHR() and
vkCmdCopyMemoryToAccelerationStructureKHR().
Jeremy Gebben [Thu, 17 Feb 2022 21:29:55 +0000 (14:29 -0700)]
layers: Clean up acceleration state objects
Remove unneeded data members and make many others const.
The NV and KHR state objects cannot be combined because the NV version
has a VkDeviceMemory bound to by vkBindAccelerationStructureMemoryNV(),
but the KHR version gets its memory from a VkBuffer included in
the VkAccelerationStructureCreateInfoKHR struct.
Aaron Hagan [Fri, 18 Feb 2022 20:02:54 +0000 (15:02 -0500)]
layers: Add VK_KHR_dynamic_rendering VUs and Tests
VUs Added:
VUID-VkCommandBufferBeginInfo-flags-00053
VUID-VkGraphicsPipelineCreateInfo-flags-06482
VUID-VkGraphicsPipelineCreateInfo-flags-06483
VUID-VkGraphicsPipelineCreateInfo-renderPass-06051
VUID-VkGraphicsPipelineCreateInfo-renderPass-06063
Tests Added:
VUID-VkCommandBufferBeginInfo-flags-00053
VUID-VkCommandBufferBeginInfo-flags-00054
VUID-VkCommandBufferBeginInfo-flags-06000
VUID-VkCommandBufferBeginInfo-flags-06001
VUID-VkCommandBufferBeginInfo-flags-06002
VUID-VkGraphicsPipelineCreateInfo-flags-06482
VUID-VkGraphicsPipelineCreateInfo-flags-06483
VUID-VkGraphicsPipelineCreateInfo-renderPass-06051
VUID-VkGraphicsPipelineCreateInfo-renderPass-06063
Charles Baker [Thu, 17 Feb 2022 23:45:21 +0000 (12:45 +1300)]
layers: Avoid out of bounds access in UpdateDrawState()
Binding a pipeline that uses n descriptor sets with only n - 1
of those descriptor sets bound with the validation layers from
the Vulkan SDK 1.3.204.0 gives a crash in STL code beneath
CMD_BUFFER_STATE::UpdateDrawState() line 1007.
Locally built validation layers in debug mode gives an assert
that access to state.per_set[set_index] in
CMD_BUFFER_STATE::UpdateDrawState() is out of bounds. Where
set_index is 5 but there are only 5 elements in state.per_set.
Note that assert is not the same position as the crash but it
seems to be the same call-stack.
David Pinedo [Fri, 18 Feb 2022 21:22:07 +0000 (14:22 -0700)]
docs: Documentation tweaks
David Pinedo [Thu, 17 Feb 2022 18:32:45 +0000 (11:32 -0700)]
docs: Update copyright notice
David Pinedo [Thu, 17 Feb 2022 17:53:55 +0000 (10:53 -0700)]
docs: Update to vk_layer_settings.txt
Also removed mention of vk_layer_settings.txt in LAYER_CONFIGURATION.md
David Pinedo [Wed, 9 Feb 2022 20:32:13 +0000 (13:32 -0700)]
docs: Documentation tweaks
David Pinedo [Tue, 8 Feb 2022 21:49:43 +0000 (14:49 -0700)]
docs: Updates to md files
David Pinedo [Mon, 31 Jan 2022 21:09:38 +0000 (14:09 -0700)]
docs: Add link to fined_grain_locking
...to khronos_validation_layer.md
David Pinedo [Wed, 19 Jan 2022 22:14:50 +0000 (15:14 -0700)]
docs: Auto gen of layer documents
Tony-LunarG [Wed, 23 Feb 2022 20:36:16 +0000 (13:36 -0700)]
tests: Clean up LvlInitStructs
Agarwal, Arpit [Thu, 17 Feb 2022 22:32:11 +0000 (15:32 -0700)]
tests: Add VK_QCOM_fragment_density_map_offset tests
Add tests for following VUIDs
06502
06503
06504
06505
06506
06507
06508
06509
06510
06511
06512
06513
06514 (replaces test for 02559)
06515 (replaces test for 02560)
Agarwal, Arpit [Thu, 17 Feb 2022 22:29:05 +0000 (15:29 -0700)]
layer: Add VK_QCOM_fragment_density_map_offset VUs
Add VUs for following VUIDs
06502
06503
06504
06505
06506
06507
06508
06509
06510
06511
06512
06513
06514
06515
sfricke-samsung [Wed, 16 Feb 2022 06:41:29 +0000 (22:41 -0800)]
tests: Convert rest of tests to LvlInitStruct
aitor-lunarg [Wed, 23 Feb 2022 18:12:53 +0000 (19:12 +0100)]
layers: Fix stage index typo
Jeremy Gebben [Thu, 17 Feb 2022 21:29:13 +0000 (14:29 -0700)]
layers: Use allocator codegen hooks for acceleration structures
Use the object tracker generator to make code for:
VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-02443
VUID-vkDestroyAccelerationStructureKHR-accelerationStructure-02444
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03753
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03754
Because there are 2 different handle types for acceleration structures,
the code generator needed to be extended to handle
param_type-param_name-alloc_type keys.
sfricke-samsung [Wed, 16 Feb 2022 00:20:47 +0000 (16:20 -0800)]
tests: Add WITHOUT_FORMAT_BIT storage texel buffer
sfricke-samsung [Tue, 8 Feb 2022 18:06:58 +0000 (10:06 -0800)]
layers: Add WITHOUT_FORMAT_BIT for storage buffer
Jeremy Gebben [Mon, 21 Feb 2022 21:06:50 +0000 (14:06 -0700)]
build: Handle different SPIRV-Tools targets
Depending on how SPIRV_TOOLS_BUILD_STATIC is set when building
SPIRV-Tools, the targets it provides may change. Handle all of them
so that we can work with externally built packages with either setting.
Fixes #3766
sfricke-samsung [Mon, 14 Feb 2022 15:41:58 +0000 (07:41 -0800)]
build: Update SPIRV-Tools
Tony-LunarG [Fri, 18 Feb 2022 18:39:23 +0000 (11:39 -0700)]
tests: Test for null VkDeviceImageMemoryRequirements.planeAspect
Tony-LunarG [Thu, 17 Feb 2022 23:41:20 +0000 (16:41 -0700)]
layers: Allow null VkDeviceImageMemoryRequirements:planeAspect
Workaround for VK_IMAGE_ASPECT_NONE possibility when vk.xml
doesn't list the field as optional.
Long term there is a spec / xml fix pending:
https://gitlab.khronos.org/vulkan/vulkan/-/issues/3020
https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/5058
Jeremy Gebben [Thu, 17 Feb 2022 22:26:25 +0000 (15:26 -0700)]
build: Handle many permutations of SPIRV-Headers locations
If the SPIRV-Headers package is not found, fall back to looking for
headers in SPIRV_HEADERS_INSTALL_DIR or SPIRV_HEADERS_INCLUDE_DIR.
Fixes #3765
Mike Schuchardt [Fri, 18 Feb 2022 19:03:42 +0000 (11:03 -0800)]
build: Update to header 1.3.206
- Update known-good
- Generate source
Tony-LunarG [Tue, 15 Feb 2022 18:02:36 +0000 (11:02 -0700)]
practices: Handle deprecated extensions in 1.3
Jeremy Gebben [Wed, 16 Feb 2022 22:15:47 +0000 (15:15 -0700)]
layers: Don't create buffer address map entries for address 0
Fixes #3769
aitor-lunarg [Wed, 16 Feb 2022 19:04:47 +0000 (20:04 +0100)]
tests: Check correct mip level is reported for subres layout
aitor-lunarg [Wed, 16 Feb 2022 18:54:50 +0000 (19:54 +0100)]
layers: Update SubresGenerator when advancing SubresLayoutMap
Tony-LunarG [Tue, 15 Feb 2022 20:00:37 +0000 (13:00 -0700)]
layers: Use more secure location for shader val cache
$XDG_CACHE_HOME defines the base directory relative to which user-specific
non-essential data files should be stored. If $XDG_CACHE_HOME is either
not set or empty, a default equal to $HOME/.cache should be used.
Andrej Redeky [Sun, 13 Feb 2022 13:38:20 +0000 (14:38 +0100)]
layers: Fix crashing in best practices
Fix crashing in best practices util when renderPass is nullptr
sfricke-samsung [Tue, 8 Feb 2022 17:32:59 +0000 (09:32 -0800)]
layers: Fix format_feature_2 format features
sfricke-samsung [Fri, 11 Feb 2022 22:44:24 +0000 (14:44 -0800)]
docs: Add InitBestPracticesFramework note
sfricke-samsung [Fri, 11 Feb 2022 22:44:01 +0000 (14:44 -0800)]
tests: Add depcrecated WorkgroupSize BP warning
sfricke-samsung [Fri, 11 Feb 2022 22:43:50 +0000 (14:43 -0800)]
layers: Add depcrecated WorkgroupSize BP warning
sfricke-samsung [Mon, 14 Feb 2022 01:37:13 +0000 (17:37 -0800)]
layers: Generate shader module def_index table
sfricke-samsung [Thu, 10 Feb 2022 16:53:41 +0000 (08:53 -0800)]
tests: Fix tests failing with 1.3 devsim
sfricke-samsung [Tue, 8 Feb 2022 22:49:23 +0000 (14:49 -0800)]
layers: Better attribAddress error message
Jeremy Gebben [Fri, 11 Feb 2022 23:06:08 +0000 (16:06 -0700)]
layers: Add missing small_vector<> destructor
This could cause memory leaks if small_vector was used with
types that manage their own memory.
Fixes #3752
Jeremy Gebben [Wed, 2 Feb 2022 18:10:31 +0000 (11:10 -0700)]
tests: Add VkSyncValTest.DestroyedUnusedDescriptors
Make sure syncval doesn't crash if destroyed resources are sitting
around in a descriptor that's not used.
Jeremy Gebben [Tue, 1 Feb 2022 22:14:52 +0000 (15:14 -0700)]
syncval: Handle destruction of bindless descriptor resources
If a descriptor set is 'bindless, it is valid to destroy
buffers or images (or views) used by one of its descriptors, as long
as that descriptor is not 'dynamically used' by any shader invocations.
Because these descriptor sets are often quite large, the state tracker
does not remove state pointers from descriptors when a resource is
destroyed. Avoid crashing in this case by checking for destroyed state
objects.
Fixes #3717
aitor-lunarg [Thu, 10 Feb 2022 18:43:07 +0000 (19:43 +0100)]
tests: Add test extended usage with different format views
Tony-LunarG [Tue, 8 Feb 2022 22:01:37 +0000 (15:01 -0700)]
practices: Ignore pointers when appropriate
aitor-lunarg [Mon, 7 Feb 2022 19:16:26 +0000 (20:16 +0100)]
tests: Remove test extended usage with different format views
Tony-LunarG [Tue, 8 Feb 2022 20:06:31 +0000 (13:06 -0700)]
layers: Initialize safe structs
aitor-lunarg [Mon, 7 Feb 2022 19:16:26 +0000 (20:16 +0100)]
tests: Add test extended usage with different format views
Jeremy Gebben [Tue, 8 Feb 2022 16:42:47 +0000 (09:42 -0700)]
corechecks: Remove KHR from VUID strings for dynamic rendering
Now that these have been promoted into vulkan 1.3, they shouldn't
have the KHR string.
Mike Schuchardt [Tue, 8 Feb 2022 16:36:58 +0000 (08:36 -0800)]
build: Update to header 1.3.205
- Update known-good
- Generate source
Piers Daniell [Mon, 7 Feb 2022 19:39:47 +0000 (12:39 -0700)]
layers: Match the VUID strings
Piers Daniell [Fri, 4 Feb 2022 23:15:30 +0000 (16:15 -0700)]
layers: Fix Vulkan 1.3 extended dynamic state validation
sfricke-samsung [Mon, 7 Feb 2022 19:00:19 +0000 (11:00 -0800)]
tests: Add extra positive spec constant
sfricke-samsung [Fri, 4 Feb 2022 18:23:34 +0000 (10:23 -0800)]
layers: Block Texel View VU 01583