1 #ifndef _VKTFRAGMENTSHADINGRATEGROUPPARAMS_HPP
2 #define _VKTFRAGMENTSHADINGRATEGROUPPARAMS_HPP
3 /*-------------------------------------------------------------------------
4  * Vulkan Conformance Tests
5  * ------------------------
6  *
7  * Copyright (c) 2018 Google Inc.
8  * Copyright (c) 2019-2020 NVIDIA Corporation
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 FSR group.
25  *//*--------------------------------------------------------------------*/
26 
27 #include "vkPipelineConstructionUtil.hpp"
28 
29 namespace vkt
30 {
31 namespace FragmentShadingRate
32 {
33 
34 // Structure containing parameters for all tests in fragment_shading_rate group
35 struct GroupParams
36 {
37     // When this flag is set tests use dynamic rendering, otherwise renderpass object is used.
38     bool useDynamicRendering;
39 
40     // When this flag is true then secondary command buffer is created in test
41     bool useSecondaryCmdBuffer;
42 
43     // When true begin/endRendering is in secondary command buffer, when false those
44     // commands are recorded to primary command buffer. This flag is checked only when
45     // useSecondaryCmdBuffer is true.
46     bool secondaryCmdBufferCompletelyContainsDynamicRenderpass;
47 
48     // Specifies if monolithic pipeline is used or if VK_EXT_graphics_pipeline_library is used.
49     vk::PipelineConstructionType pipelineConstructionType;
50 };
51 
52 typedef de::SharedPtr<GroupParams> SharedGroupParams;
53 
54 } // namespace FragmentShadingRate
55 } // namespace vkt
56 
57 #endif // _VKTFRAGMENTSHADINGRATEGROUPPARAMS_HPP
58