1 #ifndef _VKTPIPELINEMULTISAMPLEBASERESOLVE_HPP
2 #define _VKTPIPELINEMULTISAMPLEBASERESOLVE_HPP
3 /*------------------------------------------------------------------------
4  * Vulkan Conformance Tests
5  * ------------------------
6  *
7  * Copyright (c) 2016 The Khronos Group Inc.
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  *//*!
22  * \file vktPipelineMultisampleBaseResolve.hpp
23  * \brief Base class for tests that check results of multisample resolve
24  *//*--------------------------------------------------------------------*/
25 
26 #include "vktPipelineMultisampleBase.hpp"
27 #include "vktTestCase.hpp"
28 #include "tcuVector.hpp"
29 
30 namespace vkt
31 {
32 namespace pipeline
33 {
34 namespace multisample
35 {
36 
37 class MSCaseBaseResolve : public MultisampleCaseBase
38 {
39 public:
MSCaseBaseResolve(tcu::TestContext & testCtx,const std::string & name,const ImageMSParams & imageMSParams)40     MSCaseBaseResolve(tcu::TestContext &testCtx, const std::string &name, const ImageMSParams &imageMSParams)
41         : MultisampleCaseBase(testCtx, name, imageMSParams)
42     {
43     }
44 };
45 
46 class MSInstanceBaseResolve : public MultisampleInstanceBase
47 {
48 public:
MSInstanceBaseResolve(Context & context,const ImageMSParams & imageMSParams)49     MSInstanceBaseResolve(Context &context, const ImageMSParams &imageMSParams)
50         : MultisampleInstanceBase(context, imageMSParams)
51     {
52     }
53 
54 protected:
55     tcu::TestStatus iterate(void);
56 
57     virtual tcu::TestStatus verifyImageData(const vk::VkImageCreateInfo &imageRSInfo,
58                                             const tcu::ConstPixelBufferAccess &dataRS) const = 0;
59 };
60 
61 } // namespace multisample
62 } // namespace pipeline
63 } // namespace vkt
64 
65 #endif // _VKTPIPELINEMULTISAMPLEBASERESOLVE_HPP
66