Merge changes I6c21b03d,Ic6136d02,I988c0288,I21d11818,I79fa8162, ...

* changes:
  Update src/Pipeline/SpirvShaderInstructions.inl
  Update SPIR-V Tools to f37547c73
  Squashed 'third_party/SPIRV-Tools/' changes from b0e22d28f5e..f37547c73a9
  Update SPIR-V Headers to 8bb2420b4
  Squashed 'third_party/SPIRV-Headers/' changes from 104ecc356c1..8bb2420b44a
  Mend git merge history for SPIRV-Headers and SPIRV-Tools
  Mend git merge history for SPIRV-Headers and SPIRV-Tools
  Revert 9dff6a3bb5 to mend git merge history for SPIRV-Headers and SPIRV-Tools
  Squashed 'third_party/SPIRV-Tools/' changes from a61d07a7276..b0e22d28f5e
  Squashed 'third_party/SPIRV-Headers/' changes from 7845730cab6..104ecc356c1
diff --git a/src/Reactor/Reactor.hpp b/src/Reactor/Reactor.hpp
index d3e1d5a..40a596a 100644
--- a/src/Reactor/Reactor.hpp
+++ b/src/Reactor/Reactor.hpp
@@ -3392,10 +3392,52 @@
 	             CastToReactor(std::forward<RArgs>(args))...);
 }
 
-// Calls the Reactor function pointer fptr with the signature
-// FUNCTION_SIGNATURE and arguments.
+// NonVoidFunction<F> and VoidFunction<F> are helper classes which define ReturnType
+// when F matches a non-void fuction signature or void function signature, respectively,
+// as the function's return type.
+template<typename F>
+struct NonVoidFunction
+{};
+
+template<typename Return, typename... Arguments>
+struct NonVoidFunction<Return(Arguments...)>
+{
+	using ReturnType = Return;
+};
+
+template<typename... Arguments>
+struct NonVoidFunction<void(Arguments...)>
+{
+};
+
+template<typename F>
+using NonVoidFunctionReturnType = typename NonVoidFunction<F>::ReturnType;
+
+template<typename F>
+struct VoidFunction
+{};
+
+template<typename... Arguments>
+struct VoidFunction<void(Arguments...)>
+{
+	using ReturnType = void;
+};
+
+template<typename F>
+using VoidFunctionReturnType = typename VoidFunction<F>::ReturnType;
+
+// Calls the Reactor function pointer fptr with the signature FUNCTION_SIGNATURE and arguments.
+// Overload for calling functions with non-void return type.
 template<typename FUNCTION_SIGNATURE, typename... RArgs>
-inline void Call(Pointer<Byte> fptr, RArgs &&... args)
+inline CToReactorT<NonVoidFunctionReturnType<FUNCTION_SIGNATURE>> Call(Pointer<Byte> fptr, RArgs &&... args)
+{
+	return CallHelper<FUNCTION_SIGNATURE>::Call(fptr, CastToReactor(std::forward<RArgs>(args))...);
+}
+
+// Calls the Reactor function pointer fptr with the signature FUNCTION_SIGNATURE and arguments.
+// Overload for calling functions with void return type.
+template<typename FUNCTION_SIGNATURE, typename... RArgs>
+inline VoidFunctionReturnType<FUNCTION_SIGNATURE> Call(Pointer<Byte> fptr, RArgs &&... args)
 {
 	CallHelper<FUNCTION_SIGNATURE>::Call(fptr, CastToReactor(std::forward<RArgs>(args))...);
 }
diff --git a/src/Reactor/Routine.hpp b/src/Reactor/Routine.hpp
index 1c0ae1f..eb8929d 100644
--- a/src/Reactor/Routine.hpp
+++ b/src/Reactor/Routine.hpp
@@ -28,7 +28,7 @@
 	virtual const void *getEntry(int index = 0) const = 0;
 };
 
-// RoutineT is a type-safe wrapper around a Routine and its callable entry, returned by FunctionT
+// RoutineT is a type-safe wrapper around a Routine and its function entry, returned by FunctionT
 template<typename FunctionType>
 class RoutineT;
 
@@ -36,6 +36,8 @@
 class RoutineT<Return(Arguments...)>
 {
 public:
+	using FunctionType = Return (*)(Arguments...);
+
 	RoutineT() = default;
 
 	explicit RoutineT(const std::shared_ptr<Routine> &routine)
@@ -43,30 +45,29 @@
 	{
 		if(routine)
 		{
-			callable = reinterpret_cast<CallableType>(const_cast<void *>(routine->getEntry(0)));
+			function = reinterpret_cast<FunctionType>(const_cast<void *>(routine->getEntry(0)));
 		}
 	}
 
 	operator bool() const
 	{
-		return callable != nullptr;
+		return function != nullptr;
 	}
 
 	template<typename... Args>
 	Return operator()(Args &&... args) const
 	{
-		return callable(std::forward<Args>(args)...);
+		return function(std::forward<Args>(args)...);
 	}
 
-	const void *getEntry() const
+	const FunctionType getEntry() const
 	{
-		return reinterpret_cast<void *>(callable);
+		return function;
 	}
 
 private:
 	std::shared_ptr<Routine> routine;
-	using CallableType = Return (*)(Arguments...);
-	CallableType callable = nullptr;
+	FunctionType function = nullptr;
 };
 
 }  // namespace rr
diff --git a/tests/ReactorUnitTests/ReactorUnitTests.cpp b/tests/ReactorUnitTests/ReactorUnitTests.cpp
index 1f01e7c..fb7da84 100644
--- a/tests/ReactorUnitTests/ReactorUnitTests.cpp
+++ b/tests/ReactorUnitTests/ReactorUnitTests.cpp
@@ -27,7 +27,7 @@
 
 using namespace rr;
 
-std::string testName()
+static std::string testName()
 {
 	auto info = ::testing::UnitTest::GetInstance()->current_test_info();
 	return std::string{ info->test_suite_name() } + "_" + info->name();
@@ -78,6 +78,66 @@
 	EXPECT_EQ(result, reference(&one[1], 2));
 }
 
+// This test demonstrates the use of a 'trampoline', where a routine calls
+// a static function which then generates another routine during the execution
+// of the first routine. Also note the code generated for the second routine
+// depends on a parameter passed to the first routine.
+TEST(ReactorUnitTests, Trampoline)
+{
+	using SecondaryFunc = int(int, int);
+
+	static auto generateSecondary = [](int upDown) {
+		FunctionT<SecondaryFunc> secondary;
+		{
+			Int x = secondary.Arg<0>();
+			Int y = secondary.Arg<1>();
+			Int r;
+
+			if(upDown > 0)
+			{
+				r = x + y;
+			}
+			else if(upDown < 0)
+			{
+				r = x - y;
+			}
+			else
+			{
+				r = 0;
+			}
+
+			Return(r);
+		}
+
+		static auto routine = secondary((testName() + "_secondary").c_str());
+		return routine.getEntry();
+	};
+
+	using SecondaryGeneratorFunc = SecondaryFunc *(*)(int);
+	SecondaryGeneratorFunc secondaryGenerator = (SecondaryGeneratorFunc)generateSecondary;
+
+	using PrimaryFunc = int(int, int, int);
+	RoutineT<PrimaryFunc> routine;
+	{
+		FunctionT<PrimaryFunc> primary;
+		{
+			Int x = primary.Arg<0>();
+			Int y = primary.Arg<1>();
+			Int z = primary.Arg<2>();
+
+			Pointer<Byte> secondary = Call(secondaryGenerator, z);
+			Int r = Call<SecondaryFunc>(secondary, x, y);
+
+			Return(r);
+		}
+
+		routine = primary((testName() + "_primary").c_str());
+	}
+
+	int result = routine(100, 20, -3);
+	EXPECT_EQ(result, 80);
+}
+
 TEST(ReactorUnitTests, Uninitialized)
 {
 	FunctionT<int()> function;
diff --git a/tests/regres/testlists/vk-master-NOT_SUPPORTED.txt b/tests/regres/testlists/vk-master-NOT_SUPPORTED.txt
index ea455a3..03b994d 100644
--- a/tests/regres/testlists/vk-master-NOT_SUPPORTED.txt
+++ b/tests/regres/testlists/vk-master-NOT_SUPPORTED.txt
Binary files differ
diff --git a/tests/regres/testlists/vk-master-PASS.txt b/tests/regres/testlists/vk-master-PASS.txt
index 389838a..9ecdf52 100644
--- a/tests/regres/testlists/vk-master-PASS.txt
+++ b/tests/regres/testlists/vk-master-PASS.txt
@@ -158643,6 +158643,7 @@
 dEQP-VK.renderpass2.dedicated_allocation.simple.color_unused_omit_blend_state
 dEQP-VK.renderpass2.dedicated_allocation.simple.no_attachments
 dEQP-VK.renderpass2.dedicated_allocation.simple.stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.misc.properties
 dEQP-VK.renderpass2.multiple_subpasses_multiple_command_buffers.test
 dEQP-VK.renderpass2.suballocation.attachment.1.0
 dEQP-VK.renderpass2.suballocation.attachment.1.12
diff --git a/tests/regres/testlists/vk-master-UNSUPPORTED.txt b/tests/regres/testlists/vk-master-UNSUPPORTED.txt
index 59e3520..16bd728 100644
--- a/tests/regres/testlists/vk-master-UNSUPPORTED.txt
+++ b/tests/regres/testlists/vk-master-UNSUPPORTED.txt
@@ -1,3 +1,183 @@
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d16_unorm.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d16_unorm.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d16_unorm.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d16_unorm.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.s8_uint.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.s8_uint.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.s8_uint.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_17_1.samples_4.s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d16_unorm.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d16_unorm.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d16_unorm.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d16_unorm.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.s8_uint.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.s8_uint.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.s8_uint.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_4.s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d16_unorm.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d16_unorm.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d16_unorm.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d16_unorm.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.s8_uint.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.s8_uint.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.s8_uint.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_4.s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d16_unorm.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d16_unorm.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d16_unorm.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d16_unorm.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.s8_uint.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.s8_uint.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.s8_uint.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_5_1.samples_4.s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d16_unorm.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d16_unorm.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d16_unorm.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d16_unorm.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_none_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_none_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_unused_resolve_testing_depth
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.d32_sfloat_s8_uint_separate_layouts.depth_zero_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.s8_uint.depth_none_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.s8_uint.depth_none_stencil_zero_unused_resolve_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.s8_uint.depth_zero_stencil_zero_testing_stencil
+dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_8_32.samples_4.s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil
 dEQP-VK.robustness.image_robustness.bind.notemplate.r32i.dontunroll.nonvolatile.sampled_image.no_fmt_qual.img.samples_1.1d.comp
 dEQP-VK.robustness.image_robustness.bind.notemplate.r32i.dontunroll.nonvolatile.sampled_image.no_fmt_qual.img.samples_1.1d_array.comp
 dEQP-VK.robustness.image_robustness.bind.notemplate.r32i.dontunroll.nonvolatile.sampled_image.no_fmt_qual.img.samples_1.2d.comp