platform/upstream/Vulkan-ValidationLayers.git
8 months agoUpgrade to 1.3.268 95/306195/2 accepted/tizen_unified accepted/tizen_unified_dev accepted/tizen_unified_toolchain accepted/tizen_unified_x accepted/tizen_unified_x_asan tizen accepted/tizen/unified/20240219.160425 accepted/tizen/unified/dev/20240620.011200 accepted/tizen/unified/toolchain/20240311.065923 accepted/tizen/unified/x/20240220.145950 accepted/tizen/unified/x/asan/20240415.123358
Xuelian Bai [Fri, 1 Sep 2023 06:59:03 +0000 (14:59 +0800)]
Upgrade to 1.3.268

Change-Id: I2b5cca82ca3377ad789758cc8b9e9e8a37a760a0
Signed-Off-by: Xuelian Bai <xuelian.bai@samsung.com>
9 months agoUpgrade to v1.3.240
Xuelian Bai [Thu, 24 Mar 2022 08:03:52 +0000 (16:03 +0800)]
Upgrade to v1.3.240

1. Suppress mismatch warnings
2. Fix build&install errors

Change-Id: If4d6f1b447a540fd369b9bd6e05627a0b0b5f81c

9 months agoAdd build support for Tizen
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>
9 months agosyncval: New generic range traversal
John Zulauf [Thu, 22 Jun 2023 23:29:05 +0000 (17:29 -0600)]
syncval: New generic range traversal

12 months agotests: Add tests for GPU-AV shader selection upstream upstream/1.3.268
Tony Barbour [Tue, 17 Oct 2023 15:41:41 +0000 (09:41 -0600)]
tests: Add tests for GPU-AV shader selection

12 months agotests: Pass pNext through VkShaderObj to CreateShaderModule
Tony Barbour [Tue, 17 Oct 2023 15:27:31 +0000 (09:27 -0600)]
tests: Pass pNext through VkShaderObj to CreateShaderModule

12 months agogpu: Use vku utilities for GPU-AV settings
Tony Barbour [Thu, 12 Oct 2023 15:10:23 +0000 (09:10 -0600)]
gpu: Use vku utilities for GPU-AV settings

12 months agogpu: Add ability to select which shaders get instrumented
Tony Barbour [Fri, 6 Oct 2023 20:20:58 +0000 (14:20 -0600)]
gpu: Add ability to select which shaders get instrumented

12 months agolayers: Dry and simplify small_vector
John Zulauf [Thu, 12 Oct 2023 20:02:12 +0000 (14:02 -0600)]
layers: Dry and simplify small_vector

With some paths more efficient.

12 months agolayers: Cache small_vector working store
John Zulauf [Fri, 1 Sep 2023 19:35:17 +0000 (13:35 -0600)]
layers: Cache small_vector working store

Keep a current working store pointer updated, s.t. it doesn't have to be
computed per access.  Also easier to debug.

12 months agotests: More small_vector test cases
John Zulauf [Fri, 1 Sep 2023 18:50:10 +0000 (12:50 -0600)]
tests: More small_vector test cases

12 months agotests: Test copying buffer to remaining image layers
ziga-lunarg [Thu, 12 Oct 2023 17:49:48 +0000 (19:49 +0200)]
tests: Test copying buffer to remaining image layers

12 months agolayers: Fix getting buffer size from image
ziga-lunarg [Thu, 12 Oct 2023 17:49:33 +0000 (19:49 +0200)]
layers: Fix getting buffer size from image

12 months agotests: Update shader object tests
ziga-lunarg [Sat, 16 Sep 2023 10:07:04 +0000 (12:07 +0200)]
tests: Update shader object tests

12 months agolayers: Update shader object VUIDs for the spec change
ziga-lunarg [Sat, 16 Sep 2023 10:06:58 +0000 (12:06 +0200)]
layers: Update shader object VUIDs for the spec change

12 months agolayers: Break pNext recursion into a while loop
ziga-lunarg [Sun, 15 Oct 2023 17:20:08 +0000 (19:20 +0200)]
layers: Break pNext recursion into a while loop

12 months agolayers: Fix and unify VK_REMAINING_ARRAY_LAYERS logic
spencer-lunarg [Mon, 16 Oct 2023 07:57:57 +0000 (16:57 +0900)]
layers: Fix and unify VK_REMAINING_ARRAY_LAYERS logic

12 months agobp: Use promoted alias function
spencer-lunarg [Fri, 13 Oct 2023 08:15:37 +0000 (17:15 +0900)]
bp: Use promoted alias function

12 months agolayers: Fix VUID churn for 268
spencer-lunarg [Mon, 16 Oct 2023 02:02:34 +0000 (11:02 +0900)]
layers: Fix VUID churn for 268

12 months agotests: Remove unused VkBufferTest class
spencer-lunarg [Fri, 13 Oct 2023 10:09:21 +0000 (19:09 +0900)]
tests: Remove unused VkBufferTest class

12 months agobuild: Update shader toolchain for SDK
Mike Schuchardt [Sun, 15 Oct 2023 18:44:19 +0000 (11:44 -0700)]
build: Update shader toolchain for SDK

12 months agotests: Remove version from RTX tests
spencer-lunarg [Fri, 13 Oct 2023 09:05:40 +0000 (18:05 +0900)]
tests: Remove version from RTX tests

12 months agobuild: Update to header 1.3.268
Mike Schuchardt [Fri, 13 Oct 2023 17:57:59 +0000 (10:57 -0700)]
build: Update to header 1.3.268

- Update known-good
- Replace VUID-00378 with consolidated version VUID-05137
- Generate source

12 months agomac: Use exported_symbols_list
Juan Ramos [Sat, 14 Oct 2023 00:29:17 +0000 (18:29 -0600)]
mac: Use exported_symbols_list

Saves 1,398,896 bytes for the dylib in a Debug build

Similar to --version-script for Linux/Android

12 months agolayers: Remove unused Pipeline state info
spencer-lunarg [Fri, 13 Oct 2023 08:43:38 +0000 (17:43 +0900)]
layers: Remove unused Pipeline state info

12 months agosyncval: Use precomputed range gen for image view
John Zulauf [Tue, 26 Sep 2023 19:43:32 +0000 (13:43 -0600)]
syncval: Use precomputed range gen for image view

Avoid the expensive constructors for image view descriptors (as
possible).

12 months agosyncval: Cleanup UpdateMemoryAccess call tree
John Zulauf [Fri, 22 Sep 2023 18:49:12 +0000 (12:49 -0600)]
syncval: Cleanup UpdateMemoryAccess call tree

Simplify and make less fragile.

12 months agolayers: Cache IsDepthSliced in view
John Zulauf [Fri, 22 Sep 2023 18:47:26 +0000 (12:47 -0600)]
layers: Cache IsDepthSliced in view

It's constant over the life of the view, and it shows up in syncval
profiling on traces.

12 months agosyncval: Optimize first access closing
John Zulauf [Wed, 20 Sep 2023 23:36:19 +0000 (17:36 -0600)]
syncval: Optimize first access closing

Use boolean state to show first access is closed.

12 months agolayers: Cache view validity in ImageDescriptor
John Zulauf [Tue, 19 Sep 2023 20:38:16 +0000 (14:38 -0600)]
layers: Cache view validity in ImageDescriptor

Lower descriptor validity check overhead by caching and invalidating
image view validity check.

12 months agosyncval: Make HazardResult optional for perf
John Zulauf [Tue, 12 Sep 2023 21:49:11 +0000 (15:49 -0600)]
syncval: Make HazardResult optional for perf

Passing an optional return didn't benefit performance, but making the
payload of HazardResult optional did (1-10%)

12 months agolayers: Compatibility for VK_EXT_nested_command_buffers
Piers Daniell [Fri, 13 Oct 2023 06:54:48 +0000 (00:54 -0600)]
layers: Compatibility for VK_EXT_nested_command_buffers

12 months agotests: Add min/max core profile and test cleanup
spencer-lunarg [Thu, 12 Oct 2023 22:17:26 +0000 (07:17 +0900)]
tests: Add min/max core profile and test cleanup

12 months agolayers: Add Location to all Log messages
spencer-lunarg [Thu, 12 Oct 2023 08:43:54 +0000 (17:43 +0900)]
layers: Add Location to all Log messages

12 months agoscripts: Update gpu_inst_shader_hash.h from generate_spirv.py
Jeremy Gebben [Thu, 12 Oct 2023 21:35:23 +0000 (15:35 -0600)]
scripts: Update gpu_inst_shader_hash.h from generate_spirv.py

It is far less error prone to update the hash when recompiling
the instrumentation shader functions.

12 months agotests: Single line to skip for version or extension
spencer-lunarg [Wed, 11 Oct 2023 08:16:04 +0000 (17:16 +0900)]
tests: Single line to skip for version or extension

12 months agotests: Add missing descriptors tests
ziga-lunarg [Wed, 11 Oct 2023 19:26:55 +0000 (21:26 +0200)]
tests: Add missing descriptors tests

12 months agotests: Remove EXPECT() macro
Charles Giessen [Wed, 11 Oct 2023 23:38:22 +0000 (17:38 -0600)]
tests: Remove EXPECT() macro

This was just a fancy way to check for errors. It doesn't provide any
benefit over using gtest ASSERT_* and EXPECT_* macros directly.

12 months agodoc: Remove LAYER_CONFIGURATION.md
Juan Ramos [Wed, 11 Oct 2023 18:23:10 +0000 (12:23 -0600)]
doc: Remove LAYER_CONFIGURATION.md

This document has been moved to the Vulkan-Utility-Libraries
since that repo is largely responsible for the logic described
in the file.

It doesn't make sense for this document to be here anymore.

closes #4667

12 months agotests: Throw exception upon ASSERT_* failure
Charles Giessen [Wed, 11 Oct 2023 21:39:08 +0000 (15:39 -0600)]
tests: Throw exception upon ASSERT_* failure

This change adds a 'listener' to the googletest framework so that whenever
a fatal assertion is made, an exception is thrown forcing the test to
stop executing at the point the assertion was made. This is important
to ensure that any failed assertions in nested function calls are caught.

Without the change, assertions deep within the test framework's init
code will not cause execution to halt, potentially causing hard crashes
which reduce debuggability.

The googletest framework sets up exception handlers so that the exception
thrown by the failed assertion doesn't escape up the callstack, causing
the process to abort.

12 months agolayers: Dont Skip on LogInfo
Charles Giessen [Mon, 15 May 2023 21:04:34 +0000 (15:04 -0600)]
layers: Dont Skip on LogInfo

The LogInfo function now consistently does not cause skipping of
subsequent calls into the driver.

12 months agotest: Replace usage of ASSERT_VK_SUCCESS
Charles Giessen [Wed, 11 Oct 2023 19:55:50 +0000 (13:55 -0600)]
test: Replace usage of ASSERT_VK_SUCCESS

Replaced with `ASSERT_EQ(VK_SUCCESS, ...);` and added the necessary logic
to allow gtest to pretty-print VkResult values.

This allows every place where VkResult is compared to inside of a gtest
macro to get pretty-printing, instead of just ASSERT_VK_SUCCESS.

12 months agotests: Fix PositiveGpuAssistedLayer.GpuValidationUnInitImage
Jeremy Gebben [Wed, 11 Oct 2023 16:54:00 +0000 (10:54 -0600)]
tests: Fix PositiveGpuAssistedLayer.GpuValidationUnInitImage

This new test used IsPlatform() which was just removed but
I didn't rebase enough times to catch it.

12 months agotests: Test sync2 access mask in best practice
ziga-lunarg [Wed, 11 Oct 2023 11:41:03 +0000 (13:41 +0200)]
tests: Test sync2 access mask in best practice

12 months agolayers: Add sync2 access masks to layout validation
ziga-lunarg [Wed, 11 Oct 2023 11:40:40 +0000 (13:40 +0200)]
layers: Add sync2 access masks to layout validation

12 months agogpu: Don't crash on handles that may be VK_HANDLE_NULL
Jeremy Gebben [Tue, 10 Oct 2023 16:56:47 +0000 (10:56 -0600)]
gpu: Don't crash on handles that may be VK_HANDLE_NULL

12 months agogpu: Fix descriptor update corner cases
Jeremy Gebben [Fri, 6 Oct 2023 16:11:18 +0000 (10:11 -0600)]
gpu: Fix descriptor update corner cases

Possible fixes for problems in commit 901b102f2

12 months agotests: Remove IsPlatform for android devices
spencer-lunarg [Tue, 10 Oct 2023 01:34:37 +0000 (10:34 +0900)]
tests: Remove IsPlatform for android devices

12 months agolayers: Fix pColorBlend dynamic rendering
spencer-lunarg [Fri, 6 Oct 2023 03:20:14 +0000 (12:20 +0900)]
layers: Fix pColorBlend dynamic rendering

12 months agotests: Update gtest to v1.14.0
Juan Ramos [Tue, 10 Oct 2023 16:48:50 +0000 (10:48 -0600)]
tests: Update gtest to v1.14.0

12 months agotests: Test SHADER_READ access with AS build stage
Artem Kharytoniuk [Fri, 6 Oct 2023 10:28:06 +0000 (12:28 +0200)]
tests: Test SHADER_READ access with AS build stage

12 months agolayers: Support SHADER_READ access in AS build stage
Artem Kharytoniuk [Fri, 6 Oct 2023 10:26:30 +0000 (12:26 +0200)]
layers: Support SHADER_READ access in AS build stage

The solution is implemented using SHADER_STORAGE_READ access, assuming
it's the only component of SHADER_READ that can be used to access
geometry buffers (the core of validation logic works with expanded
stages).

SHADER_READ access is handled correctly, validation logic automatically
includes SHADER_READ when a SHADER_READ's sub-component is used.

12 months agotests: Test required subgroup size in task shader
ziga-lunarg [Sun, 8 Oct 2023 22:17:01 +0000 (00:17 +0200)]
tests: Test required subgroup size in task shader

12 months agolayers: Validate required subgroup size in mesh shaders
ziga-lunarg [Sun, 8 Oct 2023 22:16:45 +0000 (00:16 +0200)]
layers: Validate required subgroup size in mesh shaders

12 months agotests: Add support to mock AHB
spencer-lunarg [Fri, 6 Oct 2023 23:27:59 +0000 (08:27 +0900)]
tests: Add support to mock AHB

12 months agoci: Run vvl scripts in seperate action
Juan Ramos [Mon, 9 Oct 2023 17:55:35 +0000 (11:55 -0600)]
ci: Run vvl scripts in seperate action

It can be very confusing when these scripts fail at the end of a
long run. Especially for open source contributors.

12 months agotests: Test non optimal resolve format
ziga-lunarg [Fri, 6 Oct 2023 11:10:22 +0000 (13:10 +0200)]
tests: Test non optimal resolve format

12 months agolayers: Add performance warning for non optimal resolve formats
ziga-lunarg [Fri, 6 Oct 2023 11:10:02 +0000 (13:10 +0200)]
layers: Add performance warning for non optimal resolve formats

12 months agotests: Cleanup CommandBuffer binding class
spencer-lunarg [Sun, 8 Oct 2023 07:24:41 +0000 (16:24 +0900)]
tests: Cleanup CommandBuffer binding class

12 months agotests: Test invalid pipeline rendering formats
ziga-lunarg [Fri, 6 Oct 2023 22:24:50 +0000 (00:24 +0200)]
tests: Test invalid pipeline rendering formats

12 months agolayers: Validate pipeline rendering info formats
ziga-lunarg [Fri, 6 Oct 2023 22:24:34 +0000 (00:24 +0200)]
layers: Validate pipeline rendering info formats

12 months agotests: Test missing color blend feature
ziga-lunarg [Sat, 7 Oct 2023 18:45:17 +0000 (20:45 +0200)]
tests: Test missing color blend feature

12 months agolayers: Validate color blend format features
ziga-lunarg [Sat, 7 Oct 2023 18:45:09 +0000 (20:45 +0200)]
layers: Validate color blend format features

12 months agotests: Test attachment feedback loop
ziga-lunarg [Sat, 7 Oct 2023 20:59:01 +0000 (22:59 +0200)]
tests: Test attachment feedback loop

12 months agolayers: Update VUID 09003 for feedback loop
ziga-lunarg [Sat, 7 Oct 2023 20:58:51 +0000 (22:58 +0200)]
layers: Update VUID 09003 for feedback loop

12 months agotests: Test vkCmdCopyAccelerationStructureNV
ziga-lunarg [Sat, 7 Oct 2023 19:30:38 +0000 (21:30 +0200)]
tests: Test vkCmdCopyAccelerationStructureNV

12 months agolayers: Add missing copy AS validation
ziga-lunarg [Sat, 7 Oct 2023 19:30:13 +0000 (21:30 +0200)]
layers: Add missing copy AS validation

12 months agotests: Add descriptor indexing missing features tests
ziga-lunarg [Sat, 7 Oct 2023 14:55:47 +0000 (16:55 +0200)]
tests: Add descriptor indexing missing features tests

12 months agotests: Test push descriptors
ziga-lunarg [Sat, 7 Oct 2023 13:52:00 +0000 (15:52 +0200)]
tests: Test push descriptors

12 months agolayers: Remove push descriptor assert
ziga-lunarg [Sat, 7 Oct 2023 13:51:47 +0000 (15:51 +0200)]
layers: Remove push descriptor assert

12 months agotests: Validate warning in best practice tests
ziga-lunarg [Fri, 6 Oct 2023 19:03:34 +0000 (21:03 +0200)]
tests: Validate warning in best practice tests

12 months agobuild: Update to header 1.3.267
Mike Schuchardt [Fri, 6 Oct 2023 19:19:35 +0000 (12:19 -0700)]
build: Update to header 1.3.267

- Update known-good
- Generate source
- Temporarily disable NegativeCommand.ExecuteCommandsToSecondaryCB until
  it can be fixed

12 months agotests: Test best practice image memory barrier
ziga-lunarg [Fri, 6 Oct 2023 16:42:41 +0000 (18:42 +0200)]
tests: Test best practice image memory barrier

12 months agolayers: Add missing bp access layout combination
ziga-lunarg [Fri, 6 Oct 2023 16:41:59 +0000 (18:41 +0200)]
layers: Add missing bp access layout combination

12 months agotests: Fix more blacklist tests on Android
spencer-lunarg [Thu, 5 Oct 2023 18:09:16 +0000 (03:09 +0900)]
tests: Fix more blacklist tests on Android

12 months agolayers: Improve ValidateMemoryTypes error message
spencer-lunarg [Fri, 6 Oct 2023 04:14:54 +0000 (13:14 +0900)]
layers: Improve ValidateMemoryTypes error message

12 months agotests: Test write descriptor image layout
ziga-lunarg [Tue, 3 Oct 2023 22:14:06 +0000 (00:14 +0200)]
tests: Test write descriptor image layout

12 months agotests: Test creating pipeline with missing features
ziga-lunarg [Tue, 3 Oct 2023 22:02:23 +0000 (00:02 +0200)]
tests: Test creating pipeline with missing features

12 months agotests: Test color write attachment count
ziga-lunarg [Tue, 3 Oct 2023 21:54:09 +0000 (23:54 +0200)]
tests: Test color write attachment count

12 months agotests: Test enabling robustBufferAccess2
ziga-lunarg [Tue, 3 Oct 2023 21:42:42 +0000 (23:42 +0200)]
tests: Test enabling robustBufferAccess2

12 months agotests: Test invalid memory priority
ziga-lunarg [Tue, 3 Oct 2023 21:33:20 +0000 (23:33 +0200)]
tests: Test invalid memory priority

12 months agotests: Test resolving color image to depth image
ziga-lunarg [Tue, 3 Oct 2023 21:19:16 +0000 (23:19 +0200)]
tests: Test resolving color image to depth image

12 months agotests: Test missing image plane info
ziga-lunarg [Tue, 3 Oct 2023 21:11:19 +0000 (23:11 +0200)]
tests: Test missing image plane info

12 months agotests: Test blitting color to depth
ziga-lunarg [Tue, 3 Oct 2023 21:03:31 +0000 (23:03 +0200)]
tests: Test blitting color to depth

12 months agolayers: Remove PRIxLEAST64 for sizes
spencer-lunarg [Wed, 4 Oct 2023 14:39:50 +0000 (23:39 +0900)]
layers: Remove PRIxLEAST64 for sizes

12 months agobuid: Add gpu_inst_shader_hash.h to BUILD.gn
Spencer Fricke [Fri, 6 Oct 2023 01:16:16 +0000 (10:16 +0900)]
buid: Add gpu_inst_shader_hash.h to BUILD.gn

closes https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/6635

12 months agolayers: Add 01096 02730 02731
arno-lunarg [Wed, 27 Sep 2023 16:24:13 +0000 (18:24 +0200)]
layers: Add 01096 02730 02731

12 months agotests: Move external handle functions
arno-lunarg [Wed, 27 Sep 2023 13:18:52 +0000 (15:18 +0200)]
tests: Move external handle functions

12 months agotests: Test storage buffer offset alignment
ziga-lunarg [Wed, 4 Oct 2023 13:01:45 +0000 (15:01 +0200)]
tests: Test storage buffer offset alignment

12 months agotests: Test clearing ds attachment with invalid aspect
ziga-lunarg [Wed, 4 Oct 2023 11:53:52 +0000 (13:53 +0200)]
tests: Test clearing ds attachment with invalid aspect

12 months agotests: Test color image clear with missing feature
ziga-lunarg [Wed, 4 Oct 2023 10:46:52 +0000 (12:46 +0200)]
tests: Test color image clear with missing feature

12 months agotests: Test clearing ds image with color aspect
ziga-lunarg [Wed, 4 Oct 2023 09:48:30 +0000 (11:48 +0200)]
tests: Test clearing ds image with color aspect

12 months agotests: Write descriptor set with invalid image info
ziga-lunarg [Wed, 4 Oct 2023 09:43:10 +0000 (11:43 +0200)]
tests: Write descriptor set with invalid image info

12 months agotests: Test device only events with host commands
ziga-lunarg [Wed, 4 Oct 2023 09:39:50 +0000 (11:39 +0200)]
tests: Test device only events with host commands

12 months agotests: Fix InitFromASMTry logic
spencer-lunarg [Thu, 5 Oct 2023 19:32:17 +0000 (04:32 +0900)]
tests: Fix InitFromASMTry logic

12 months agoscripts: Explicitly exclude shaders from verification
Tony Barbour [Thu, 5 Oct 2023 17:53:25 +0000 (11:53 -0600)]
scripts: Explicitly exclude shaders from verification

Also allows verification of gpu_inst_shader_hash.h

12 months agolayers: Add thread safety checks for vkQueuePresentKHR
Alina Kalyakina [Thu, 31 Aug 2023 13:58:55 +0000 (13:58 +0000)]
layers: Add thread safety checks for vkQueuePresentKHR

Add manual Pre- and Post- calls for thread safety checks. Regenerated
files.

12 months agolayers: Fix vkGetPhysicalDeviceSurfaceCapabilities2KHR
spencer-lunarg [Thu, 5 Oct 2023 14:24:43 +0000 (23:24 +0900)]
layers: Fix vkGetPhysicalDeviceSurfaceCapabilities2KHR

12 months agobuild: Update SPIRV-Tools
Jeremy Gebben [Mon, 2 Oct 2023 15:24:40 +0000 (09:24 -0600)]
build: Update SPIRV-Tools

Commit 847715d6c65200987c079fb13ca7925760faec23 fixes a crash bug
that would happen if nothing was changed by the instrumentation passes.
This caused the address mode to not match what is used in
inst_functions.comp, and linking would fail.

12 months agogpu: Add detection of destroyed descriptor resources
Jeremy Gebben [Thu, 14 Sep 2023 17:57:48 +0000 (11:57 -0600)]
gpu: Add detection of destroyed descriptor resources

Add a bit array tracking which descriptor resources are valid
so that it can be checked by the GPUAV instrumentation if
a descriptor is used by a shader.