| /*------------------------------------------------------------------------ |
| * Vulkan Conformance Tests |
| * ------------------------ |
| * |
| * Copyright (c) 2017 The Khronos Group Inc. |
| * Copyright (c) 2017 Samsung Electronics Co., Ltd. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| *//*! |
| * \file |
| * \brief Protected memory tests |
| *//*--------------------------------------------------------------------*/ |
| |
| #include "vktProtectedMemTests.hpp" |
| |
| #include "vktTestCase.hpp" |
| #include "vktTestGroupUtil.hpp" |
| |
| #include "vktProtectedMemAttachmentLoadTests.hpp" |
| #include "vktProtectedMemAttachmentClearTests.hpp" |
| #include "vktProtectedMemCopyImageTests.hpp" |
| #include "vktProtectedMemBlitImageTests.hpp" |
| #include "vktProtectedMemClearColorImageTests.hpp" |
| #include "vktProtectedMemFillUpdateCopyBufferTests.hpp" |
| #include "vktProtectedMemCopyImageToBufferTests.hpp" |
| #include "vktProtectedMemCopyBufferToImageTests.hpp" |
| #include "vktProtectedMemStorageBufferTests.hpp" |
| #include "vktProtectedMemShaderImageAccessTests.hpp" |
| #include "vktProtectedMemWsiSwapchainTests.hpp" |
| #include "vktProtectedMemYCbCrConversionTests.hpp" |
| #include "vktProtectedMemWorkgroupStorageTests.hpp" |
| |
| namespace vkt |
| { |
| namespace ProtectedMem |
| { |
| |
| tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx) |
| { |
| de::MovePtr<tcu::TestCaseGroup> protectedTests (new tcu::TestCaseGroup(testCtx, "protected_memory", "Protected Memory Tests")); |
| |
| // Attachment test case group |
| { |
| de::MovePtr<tcu::TestCaseGroup> attachmentTestGroup (new tcu::TestCaseGroup(testCtx, "attachment", "Protected Memory Attachment Tests")); |
| attachmentTestGroup->addChild(createAttachmentLoadTests(testCtx)); |
| attachmentTestGroup->addChild(createAttachmentClearTests(testCtx)); |
| protectedTests->addChild(attachmentTestGroup.release()); |
| } |
| |
| // Image test case group |
| { |
| de::MovePtr<tcu::TestCaseGroup> imageTestGroup (new tcu::TestCaseGroup(testCtx, "image", "Protected Memory Image Tests")); |
| imageTestGroup->addChild(createCopyImageTests(testCtx)); |
| imageTestGroup->addChild(createBlitImageTests(testCtx)); |
| imageTestGroup->addChild(createClearColorImageTests(testCtx)); |
| imageTestGroup->addChild(createCopyBufferToImageTests(testCtx)); |
| imageTestGroup->addChild(createShaderImageAccessTests(testCtx)); |
| protectedTests->addChild(imageTestGroup.release()); |
| } |
| |
| // Buffer test case group |
| { |
| de::MovePtr<tcu::TestCaseGroup> bufferTestGroup (new tcu::TestCaseGroup(testCtx, "buffer", "Protected Memory Buffer Tests")); |
| bufferTestGroup->addChild(createFillBufferTests(testCtx)); |
| bufferTestGroup->addChild(createUpdateBufferTests(testCtx)); |
| bufferTestGroup->addChild(createCopyBufferTests(testCtx)); |
| bufferTestGroup->addChild(createCopyImageToFloatBufferTests(testCtx)); |
| protectedTests->addChild(bufferTestGroup.release()); |
| } |
| |
| // Storage buffer test case group |
| { |
| de::MovePtr<tcu::TestCaseGroup> ssboTestGroup (new tcu::TestCaseGroup(testCtx, "ssbo", "Storage Buffer Tests")); |
| ssboTestGroup->addChild(createReadStorageBufferTests(testCtx)); |
| ssboTestGroup->addChild(createWriteStorageBufferTests(testCtx)); |
| ssboTestGroup->addChild(createAtomicStorageBufferTests(testCtx)); |
| protectedTests->addChild(ssboTestGroup.release()); |
| } |
| |
| { |
| de::MovePtr<tcu::TestCaseGroup> interactionTestGroup (new tcu::TestCaseGroup(testCtx, "interaction", "Various tests which interacts with other extensions")); |
| interactionTestGroup->addChild(createSwapchainTests(testCtx)); |
| interactionTestGroup->addChild(createYCbCrConversionTests(testCtx)); |
| protectedTests->addChild(interactionTestGroup.release()); |
| } |
| |
| protectedTests->addChild(createWorkgroupStorageTests(testCtx)); |
| |
| return protectedTests.release(); |
| |
| } |
| |
| } // ProtectedMem |
| } // vkt |