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,
41 						 const std::string&		name,
42 						 const ImageMSParams&	imageMSParams)
43 		: MultisampleCaseBase(testCtx, name, imageMSParams)
44 	{}
45 };
46 
47 class MSInstanceBaseResolve : public MultisampleInstanceBase
48 {
49 public:
MSInstanceBaseResolve(Context & context,const ImageMSParams & imageMSParams)50 							MSInstanceBaseResolve	(Context&							context,
51 													 const ImageMSParams&				imageMSParams)
52 								: MultisampleInstanceBase(context, imageMSParams)
53 							{}
54 
55 protected:
56 
57 	tcu::TestStatus			iterate					(void);
58 
59 	virtual tcu::TestStatus	verifyImageData			(const vk::VkImageCreateInfo&		imageRSInfo,
60 													 const tcu::ConstPixelBufferAccess&	dataRS) const = 0;
61 };
62 
63 } // multisample
64 } // pipeline
65 } // vkt
66 
67 #endif // _VKTPIPELINEMULTISAMPLEBASERESOLVE_HPP
68