Skip to content

Commit

Permalink
tests: Remove features checks not needed
Browse files Browse the repository at this point in the history
  • Loading branch information
spencer-lunarg committed Aug 2, 2023
1 parent 965b037 commit 63fbea2
Show file tree
Hide file tree
Showing 41 changed files with 164 additions and 783 deletions.
14 changes: 4 additions & 10 deletions tests/unit/buffer_positive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,8 @@ TEST_F(PositiveBuffer, DISABLED_PerfGetBufferAddressWorstCase) {
}

auto buffer_addr_features = LvlInitStruct<VkPhysicalDeviceBufferDeviceAddressFeaturesKHR>();
auto features2 = GetPhysicalDeviceFeatures2(buffer_addr_features);
if (!buffer_addr_features.bufferDeviceAddress) {
GTEST_SKIP() << "bufferDeviceAddress not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT));
GetPhysicalDeviceFeatures2(buffer_addr_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &buffer_addr_features, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT));

// Allocate common buffer memory, all buffers will be bound to it so that they have the same starting address
auto alloc_flags = LvlInitStruct<VkMemoryAllocateFlagsInfo>();
Expand Down Expand Up @@ -163,11 +160,8 @@ TEST_F(PositiveBuffer, DISABLED_PerfGetBufferAddressGoodCase) {
}

auto buffer_addr_features = LvlInitStruct<VkPhysicalDeviceBufferDeviceAddressFeaturesKHR>();
auto features2 = GetPhysicalDeviceFeatures2(buffer_addr_features);
if (!buffer_addr_features.bufferDeviceAddress) {
GTEST_SKIP() << "bufferDeviceAddress not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT));
GetPhysicalDeviceFeatures2(buffer_addr_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &buffer_addr_features, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT));

// Allocate common buffer memory, all buffers will be bound to it so that they have the same starting address
auto alloc_flags = LvlInitStruct<VkMemoryAllocateFlagsInfo>();
Expand Down
6 changes: 0 additions & 6 deletions tests/unit/command.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -205,9 +205,6 @@ TEST_F(NegativeCommand, Sync2SecondaryCommandbufferAsPrimary) {
}
auto sync2_features = LvlInitStruct<VkPhysicalDeviceSynchronization2FeaturesKHR>();
GetPhysicalDeviceFeatures2(sync2_features);
if (!sync2_features.synchronization2) {
GTEST_SKIP() << "synchronization2 not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &sync2_features, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT));

m_errorMonitor->SetDesiredFailureMsg(kErrorBit, "VUID-VkCommandBufferSubmitInfo-commandBuffer-03890");
Expand Down Expand Up @@ -273,9 +270,6 @@ TEST_F(NegativeCommand, Sync2CommandBufferTwoSubmits) {
}
auto sync2_features = LvlInitStruct<VkPhysicalDeviceSynchronization2FeaturesKHR>();
GetPhysicalDeviceFeatures2(sync2_features);
if (!sync2_features.synchronization2) {
GTEST_SKIP() << "synchronization2 not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &sync2_features, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT));

m_errorMonitor->SetDesiredFailureMsg(kErrorBit, "UNASSIGNED-CoreValidation-DrawState-CommandBufferSingleSubmitViolation");
Expand Down
75 changes: 20 additions & 55 deletions tests/unit/descriptors.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3761,11 +3761,8 @@ TEST_F(NegativeDescriptors, CreateDescriptorPoolFlags) {
GTEST_SKIP() << RequiredExtensionsNotSupported() << " not supported";
}
auto mutable_descriptor_type_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
if (mutable_descriptor_type_features.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "mutableDescriptorType feature not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutable_descriptor_type_features));
ASSERT_NO_FATAL_FAILURE(InitRenderTarget());

VkDescriptorPoolSize ds_type_count = {};
Expand Down Expand Up @@ -3825,11 +3822,8 @@ TEST_F(NegativeDescriptors, MutableDescriptorPoolsWithPartialOverlap) {
GTEST_SKIP() << RequiredExtensionsNotSupported() << " not supported";
}
auto mutable_descriptor_type_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
if (mutable_descriptor_type_features.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "mutableDescriptorType feature not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutable_descriptor_type_features));

VkDescriptorPoolSize pool_sizes[2] = {};
pool_sizes[0].type = VK_DESCRIPTOR_TYPE_MUTABLE_EXT;
Expand Down Expand Up @@ -3895,11 +3889,8 @@ TEST_F(NegativeDescriptors, CreateDescriptorPoolAllocateFlags) {
GTEST_SKIP() << RequiredExtensionsNotSupported() << " not supported";
}
auto mutable_descriptor_type_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
if (mutable_descriptor_type_features.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "mutableDescriptorType feature not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutable_descriptor_type_features));
ASSERT_NO_FATAL_FAILURE(InitRenderTarget());

VkDescriptorPoolSize ds_type_count = {};
Expand Down Expand Up @@ -4047,11 +4038,8 @@ TEST_F(NegativeDescriptors, WriteMutableDescriptorSet) {
GTEST_SKIP() << RequiredExtensionsNotSupported() << " not supported";
}
auto mutdesc_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutdesc_features);
if (!mutdesc_features.mutableDescriptorType) {
GTEST_SKIP() << "mutableDescriptorType feature not supported.";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(mutdesc_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutdesc_features));
ASSERT_NO_FATAL_FAILURE(InitRenderTarget());

VkDescriptorPoolSize ds_type_count = {};
Expand Down Expand Up @@ -4143,12 +4131,8 @@ TEST_F(NegativeDescriptors, MutableDescriptors) {
}

auto mutable_descriptor_type_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
if (mutable_descriptor_type_features.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "mutableDescriptorType feature is not supported, skipping test";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));

GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutable_descriptor_type_features));
VkDescriptorSetLayoutBinding dsl_binding = {};
dsl_binding.binding = 0;
dsl_binding.descriptorType = VK_DESCRIPTOR_TYPE_SAMPLER;
Expand Down Expand Up @@ -4221,11 +4205,8 @@ TEST_F(NegativeDescriptors, DescriptorUpdateTemplate) {
GTEST_SKIP() << "At least Vulkan version 1.1 is required";
}
auto mutdesc_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutdesc_features);
if (!mutdesc_features.mutableDescriptorType) {
GTEST_SKIP() << "mutableDescriptorType feature not supported.";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(mutdesc_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutdesc_features));

VkDescriptorPoolSize ds_type_count = {};
ds_type_count.type = VK_DESCRIPTOR_TYPE_MUTABLE_EXT;
Expand Down Expand Up @@ -4300,11 +4281,8 @@ TEST_F(NegativeDescriptors, MutableDescriptorSetLayout) {
}

auto mutable_descriptor_type_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
if (mutable_descriptor_type_features.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "mutableDescriptorType feature not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutable_descriptor_type_features));
ASSERT_NO_FATAL_FAILURE(InitRenderTarget());

VkDescriptorSetLayoutBinding binding = {0, VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 1, VK_SHADER_STAGE_FRAGMENT_BIT, nullptr};
Expand Down Expand Up @@ -4958,11 +4936,8 @@ TEST_F(NegativeDescriptors, DescriptorSetLayoutBinding) {
GTEST_SKIP() << RequiredExtensionsNotSupported() << " not supported";
}
auto mutable_descriptor_type_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
if (mutable_descriptor_type_features.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "mutableDescriptorType feature not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutable_descriptor_type_features));

vk_testing::Sampler sampler(*m_device, SafeSaneSamplerCreateInfo());

Expand Down Expand Up @@ -5005,9 +4980,6 @@ TEST_F(NegativeDescriptors, BindingDescriptorSetFromHostOnlyPool) {
}
auto mutdesc_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
GetPhysicalDeviceFeatures2(mutdesc_features);
if (!mutdesc_features.mutableDescriptorType) {
GTEST_SKIP() << "mutableDescriptorType feature not supported.";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutdesc_features));

VkDescriptorPoolSize ds_type_count = {};
Expand Down Expand Up @@ -5061,12 +5033,8 @@ TEST_F(NegativeDescriptors, CopyMutableDescriptors) {
GTEST_SKIP() << RequiredExtensionsNotSupported() << " not supported";
}
auto mutable_descriptor_type_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
if (mutable_descriptor_type_features.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "Test requires unsupported mutableDescriptorType feature";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));

GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutable_descriptor_type_features));
{
VkDescriptorType descriptor_types[] = {VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER};

Expand Down Expand Up @@ -5368,11 +5336,8 @@ TEST_F(NegativeDescriptors, UpdatingMutableDescriptors) {
GTEST_SKIP() << RequiredExtensionsNotSupported() << " not supported";
}
auto mutable_descriptor_type_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
if (mutable_descriptor_type_features.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "Test requires unsupported mutableDescriptorType feature";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutable_descriptor_type_features));

VkDescriptorType descriptor_types[] = {VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER};

Expand Down
28 changes: 6 additions & 22 deletions tests/unit/descriptors_positive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -720,11 +720,8 @@ TEST_F(PositiveDescriptors, CopyMutableDescriptors) {
GTEST_SKIP() << RequiredExtensionsNotSupported() << " not supported";
}
auto mutable_descriptor_type_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
if (mutable_descriptor_type_features.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "mutableDescriptorType feature not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(mutable_descriptor_type_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutable_descriptor_type_features));

VkDescriptorType descriptor_types[] = {VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER};

Expand Down Expand Up @@ -828,17 +825,8 @@ TEST_F(PositiveDescriptors, CopyAccelerationStructureMutableDescriptors) {
auto mutable_descriptor_type_features = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto acc_struct_features = LvlInitStruct<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(&mutable_descriptor_type_features);
auto bda_features = LvlInitStruct<VkPhysicalDeviceBufferDeviceAddressFeaturesKHR>(&acc_struct_features);
auto features2 = GetPhysicalDeviceFeatures2(bda_features);
if (mutable_descriptor_type_features.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "mutableDescriptorType feature not supported";
}
if (acc_struct_features.accelerationStructure == VK_FALSE) {
GTEST_SKIP() << "accelerationStructure feature not supported";
}
if (bda_features.bufferDeviceAddress == VK_FALSE) {
GTEST_SKIP() << "bufferDeviceAddress feature not supported";
}
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(bda_features);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &bda_features));

std::array descriptor_types = {VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR};

Expand Down Expand Up @@ -1133,12 +1121,8 @@ TEST_F(PositiveDescriptors, MultipleThreadsUsingHostOnlyDescriptorSet) {
}

auto mutable_descriptor = LvlInitStruct<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
auto features2 = GetPhysicalDeviceFeatures2(mutable_descriptor);
if (mutable_descriptor.mutableDescriptorType == VK_FALSE) {
GTEST_SKIP() << "mutableDescriptorType feature not supported";
}

ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &features2));
GetPhysicalDeviceFeatures2(mutable_descriptor);
ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &mutable_descriptor));

VkImageObj image1(m_device);
VkImageObj image2(m_device);
Expand Down
15 changes: 0 additions & 15 deletions tests/unit/dynamic_rendering.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2603,11 +2603,6 @@ TEST_F(NegativeDynamicRendering, WithBarrier) {
auto sync2_features = LvlInitStruct<VkPhysicalDeviceSynchronization2Features>();
InitBasicDynamicRendering(&sync2_features);
if (::testing::Test::IsSkipped()) return;

if (!sync2_features.synchronization2) {
GTEST_SKIP() << "Test requires (unsupported) synchronization2";
}

ASSERT_NO_FATAL_FAILURE(InitRenderTarget());

m_commandBuffer->begin();
Expand Down Expand Up @@ -2666,9 +2661,6 @@ TEST_F(NegativeDynamicRendering, WithoutShaderTileImageAndBarrier) {
if (!vk13features.dynamicRendering) {
GTEST_SKIP() << "Test requires (unsupported) dynamicRendering";
}
if (!vk13features.synchronization2) {
GTEST_SKIP() << "Test requires (unsupported) synchronization2";
}

if (!shader_tile_image_features.shaderTileImageColorReadAccess && !shader_tile_image_features.shaderTileImageDepthReadAccess &&
!shader_tile_image_features.shaderTileImageStencilReadAccess) {
Expand Down Expand Up @@ -2744,9 +2736,6 @@ TEST_F(NegativeDynamicRendering, WithShaderTileImageAndBarrier) {
if (!vk13features.dynamicRendering) {
GTEST_SKIP() << "Test requires (unsupported) dynamicRendering";
}
if (!vk13features.synchronization2) {
GTEST_SKIP() << "Test requires (unsupported) synchronization2";
}

if (!shader_tile_image_features.shaderTileImageColorReadAccess && !shader_tile_image_features.shaderTileImageDepthReadAccess &&
!shader_tile_image_features.shaderTileImageStencilReadAccess) {
Expand Down Expand Up @@ -5279,10 +5268,6 @@ TEST_F(NegativeDynamicRendering, SuspendingRenderPassInstanceQueueSubmit2) {
InitBasicDynamicRendering(&synchronization2);
if (::testing::Test::IsSkipped()) return;

if (!synchronization2.synchronization2) {
GTEST_SKIP() << "Test requires (unsupported) synchronization2";
}

VkCommandPoolObj command_pool(m_device, m_device->graphics_queue_node_index_);
VkCommandBufferObj cmd_buffer1(m_device, &command_pool);
VkCommandBufferObj cmd_buffer2(m_device, &command_pool);
Expand Down
8 changes: 0 additions & 8 deletions tests/unit/dynamic_rendering_positive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -181,10 +181,6 @@ TEST_F(PositiveDynamicRendering, BeginQuery) {
InitBasicDynamicRendering(&sync2_features);
if (::testing::Test::IsSkipped()) return;

if (!sync2_features.synchronization2) {
GTEST_SKIP() << "Test requires (unsupported) synchronization2";
}

ASSERT_NO_FATAL_FAILURE(InitRenderTarget());

VkRenderingInfoKHR begin_rendering_info = LvlInitStruct<VkRenderingInfoKHR>();
Expand Down Expand Up @@ -935,10 +931,6 @@ TEST_F(PositiveDynamicRendering, WithShaderTileImageAndBarrier) {
auto shader_tile_image_features = LvlInitStruct<VkPhysicalDeviceShaderTileImageFeaturesEXT>(&sync2_features);
InitBasicDynamicRendering(&shader_tile_image_features);
if (::testing::Test::IsSkipped()) return;

if (!sync2_features.synchronization2) {
GTEST_SKIP() << "Test requires (unsupported) synchronization2";
}
if (!shader_tile_image_features.shaderTileImageColorReadAccess && !shader_tile_image_features.shaderTileImageDepthReadAccess &&
!shader_tile_image_features.shaderTileImageStencilReadAccess) {
GTEST_SKIP() << "Test requires (unsupported) shader tile image extension.";
Expand Down
11 changes: 0 additions & 11 deletions tests/unit/dynamic_state.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4721,10 +4721,6 @@ TEST_F(NegativeDynamicState, DrawNotSetAttachmentFeedbackLoopEnable) {

auto feedback_loop_dynamic_features = LvlInitStruct<VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT>();
GetPhysicalDeviceFeatures2(feedback_loop_dynamic_features);
if (!feedback_loop_dynamic_features.attachmentFeedbackLoopDynamicState) {
GTEST_SKIP() << "attachmentFeedbackLoopDynamicState is not supported.";
}

ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &feedback_loop_dynamic_features));
ASSERT_NO_FATAL_FAILURE(InitRenderTarget());

Expand Down Expand Up @@ -4795,13 +4791,6 @@ TEST_F(NegativeDynamicState, AttachmentFeedbackLoopEnableAspectMask) {
auto feedback_loop_features =
LvlInitStruct<VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT>(&feedback_loop_dynamic_features);
GetPhysicalDeviceFeatures2(feedback_loop_features);
if (!feedback_loop_dynamic_features.attachmentFeedbackLoopDynamicState) {
GTEST_SKIP() << "attachmentFeedbackLoopDynamicState is not supported.";
}
if (!feedback_loop_features.attachmentFeedbackLoopLayout) {
GTEST_SKIP() << "attachmentFeedbackLoopLayout is not supported.";
}

ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &feedback_loop_features));
ASSERT_NO_FATAL_FAILURE(InitRenderTarget());

Expand Down
7 changes: 0 additions & 7 deletions tests/unit/dynamic_state_positive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -538,13 +538,6 @@ TEST_F(PositiveDynamicState, AttachmentFeedbackLoopEnable) {
auto feedback_loop_features =
LvlInitStruct<VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT>(&feedback_loop_dynamic_features);
GetPhysicalDeviceFeatures2(feedback_loop_features);
if (!feedback_loop_dynamic_features.attachmentFeedbackLoopDynamicState) {
GTEST_SKIP() << "attachmentFeedbackLoopDynamicState is not supported.";
}
if (!feedback_loop_features.attachmentFeedbackLoopLayout) {
GTEST_SKIP() << "attachmentFeedbackLoopLayout is not supported.";
}

ASSERT_NO_FATAL_FAILURE(InitState(nullptr, &feedback_loop_features));
ASSERT_NO_FATAL_FAILURE(InitRenderTarget());

Expand Down
Loading

0 comments on commit 63fbea2

Please sign in to comment.