return viewTypeTests.release();
}
- for (const auto unnorm : unnormalizedCoordinates)
+tcu::TestCaseGroup* createExactSamplingTests (tcu::TestContext& testCtx)
+{
+ de::MovePtr<tcu::TestCaseGroup> exactSamplingTests(new tcu::TestCaseGroup(testCtx, "exact_sampling", "Exact sampling tests"));
+
+ static const std::vector<vk::VkFormat> formats =
+ {
+ vk::VK_FORMAT_R8_SRGB,
+ vk::VK_FORMAT_R8G8B8_UINT,
+ vk::VK_FORMAT_B8G8R8A8_SINT,
+ vk::VK_FORMAT_R8G8_UNORM,
+ vk::VK_FORMAT_B8G8R8_SNORM,
+ vk::VK_FORMAT_R8G8B8A8_SNORM,
+ vk::VK_FORMAT_R8G8_UINT,
+ vk::VK_FORMAT_R8_SINT,
+ vk::VK_FORMAT_R8G8B8A8_SRGB,
+ vk::VK_FORMAT_R8G8B8A8_UNORM,
+ vk::VK_FORMAT_B8G8R8A8_UNORM,
+ vk::VK_FORMAT_B8G8R8_SRGB,
+ vk::VK_FORMAT_R8G8_SRGB,
+ vk::VK_FORMAT_R8_UINT,
+ vk::VK_FORMAT_R8G8B8A8_UINT,
+ vk::VK_FORMAT_R8G8_SINT,
+ vk::VK_FORMAT_R8_SNORM,
+ vk::VK_FORMAT_B8G8R8_SINT,
+ vk::VK_FORMAT_R8G8_SNORM,
+ vk::VK_FORMAT_B8G8R8_UNORM,
+ vk::VK_FORMAT_R8_UNORM,
+
+ vk::VK_FORMAT_R32G32_SFLOAT,
+ vk::VK_FORMAT_R32G32B32_UINT,
+ vk::VK_FORMAT_R16G16B16A16_SFLOAT,
+ vk::VK_FORMAT_R16G16_UINT,
+ vk::VK_FORMAT_R32G32B32A32_SINT,
+ vk::VK_FORMAT_R16G16B16_SINT,
+ vk::VK_FORMAT_R16_SFLOAT,
+ vk::VK_FORMAT_R32_SINT,
+ vk::VK_FORMAT_R32_UINT,
+ vk::VK_FORMAT_R16G16B16_SFLOAT,
+ vk::VK_FORMAT_R16G16_SINT,
+
+ vk::VK_FORMAT_R16_SNORM,
+ vk::VK_FORMAT_R32_SFLOAT,
+ };
+
+ static const std::vector<std::pair<bool, std::string>> unnormalizedCoordinates =
+ {
+ { false, "normalized_coords" },
+ { true, "unnormalized_coords" },
+ };
+
+ for (const auto format : formats)
+ {
+ const std::string formatName = getFormatCaseName(format);
+ const std::string description = std::string("Exact sampling tests with image format ") + getFormatName(format);
+
+ de::MovePtr<tcu::TestCaseGroup> formatGroup(new tcu::TestCaseGroup(testCtx, formatName.c_str(), description.c_str()));
+
++ for (const auto& unnorm : unnormalizedCoordinates)
+ {
+ const ExactSamplingCase::Params params = { format, unnorm.first };
+ formatGroup->addChild(new ExactSamplingCase{testCtx, unnorm.second, "", params});
+ }
+ exactSamplingTests->addChild(formatGroup.release());
+ }
+
+ return exactSamplingTests.release();
+}
+
tcu::TestCaseGroup* createSamplerTests (tcu::TestContext& testCtx)
{
de::MovePtr<tcu::TestCaseGroup> samplerTests(new tcu::TestCaseGroup(testCtx, "sampler", "Sampler tests"));