1 #ifndef _VKTRENDERPASSGROUPPARAMS_HPP 2 #define _VKTRENDERPASSGROUPPARAMS_HPP 3 4 /*------------------------------------------------------------------------ 5 * Vulkan Conformance Tests 6 * ------------------------ 7 * 8 * Copyright (c) 2022 The Khronos Group Inc. 9 * 10 * Licensed under the Apache License, Version 2.0 (the "License"); 11 * you may not use this file except in compliance with the License. 12 * You may obtain a copy of the License at 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, software 17 * distributed under the License is distributed on an "AS IS" BASIS, 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 * See the License for the specific language governing permissions and 20 * limitations under the License. 21 * 22 *//*! 23 * \file 24 * \brief Structure with parameters shared by all tests in 'renderpass' group. 25 *//*--------------------------------------------------------------------*/ 26 #include "deSharedPtr.hpp" 27 #include "vkPipelineConstructionUtil.hpp" 28 29 namespace vkt 30 { 31 namespace renderpass 32 { 33 34 enum RenderingType 35 { 36 RENDERING_TYPE_RENDERPASS_LEGACY = 0, 37 RENDERING_TYPE_RENDERPASS2, 38 RENDERING_TYPE_DYNAMIC_RENDERING 39 }; 40 41 enum SynchronizationType 42 { 43 SYNCHRONIZATION_TYPE_LEGACY = 0, 44 SYNCHRONIZATION_TYPE_SYNCHRONIZATION2, 45 }; 46 47 // Structure containing parameters for all tests in renderpass group 48 struct GroupParams 49 { 50 // Specifies type of renderpass. 51 RenderingType renderingType; 52 53 // When this flag is true then secondary command buffer is created in test 54 bool useSecondaryCmdBuffer; 55 56 // When true begin/endRendering is in secondary command buffer, when false those 57 // commands are recorded to primary command buffer. This flag is checked only when 58 // useSecondaryCmdBuffer is true. 59 bool secondaryCmdBufferCompletelyContainsDynamicRenderpass; 60 61 // Choose pipeline construction type. 62 vk::PipelineConstructionType pipelineConstructionType; 63 }; 64 65 typedef de::SharedPtr<GroupParams> SharedGroupParams; 66 67 } // namespace renderpass 68 } // namespace vkt 69 70 #endif // _VKTRENDERPASSGROUPPARAMS_HPP 71