Home | History | Annotate | Download | only in geometry
      1 #ifndef _VKTGEOMETRYBASICCLASS_HPP
      2 #define _VKTGEOMETRYBASICCLASS_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
     23  * \brief Geometry Basic Class
     24  *//*--------------------------------------------------------------------*/
     25 
     26 #include "tcuDefs.hpp"
     27 #include "vktTestCase.hpp"
     28 #include "vkTypeUtil.hpp"
     29 #include "vkRef.hpp"
     30 #include "vktGeometryTestsUtil.hpp"
     31 
     32 namespace vkt
     33 {
     34 namespace geometry
     35 {
     36 
     37 class GeometryExpanderRenderTestInstance : public TestInstance
     38 {
     39 public:
     40 									GeometryExpanderRenderTestInstance	(Context&						context,
     41 																		 const vk::VkPrimitiveTopology	primitiveType,
     42 																		 const char*					name);
     43 
     44 	tcu::TestStatus					iterate								(void);
     45 
     46 protected:
     47 	virtual vk::Move<vk::VkPipelineLayout>	createPipelineLayout		(const vk::DeviceInterface& vk, const vk::VkDevice device);
     48 	virtual void							bindDescriptorSets			(const vk::DeviceInterface&		/*vk*/,
     49 																		 const vk::VkDevice				/*device*/,
     50 																		 vk::Allocator&					/*memAlloc*/,
     51 																		 const vk::VkCommandBuffer&		/*cmdBuffer*/,
     52 																		 const vk::VkPipelineLayout&	/*pipelineLayout*/){};
     53 	virtual void						drawCommand						(const vk::VkCommandBuffer&		cmdBuffer);
     54 
     55 	const vk::VkPrimitiveTopology	m_primitiveType;
     56 	const std::string				m_name;
     57 	int								m_numDrawVertices;
     58 	std::vector<tcu::Vec4>			m_vertexPosData;
     59 	std::vector<tcu::Vec4>			m_vertexAttrData;
     60 
     61 };
     62 
     63 } // geometry
     64 } // vkt
     65 
     66 #endif // _VKTGEOMETRYBASICCLASS_HPP
     67