• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
28 namespace vkt
29 {
30 namespace renderpass
31 {
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 
62 typedef de::SharedPtr<GroupParams> SharedGroupParams;
63 
64 } // renderpass
65 } // vkt
66 
67 
68 #endif // _VKTRENDERPASSGROUPPARAMS_HPP
69