13d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa#ifndef _TCUX11VULKANPLATFORM_HPP
23d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa#define _TCUX11VULKANPLATFORM_HPP
33d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa/*-------------------------------------------------------------------------
43d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * drawElements Quality Program Tester Core
53d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * ----------------------------------------
63d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa *
73d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * Copyright (c) 2016 The Khronos Group Inc.
83d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa *
93d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * Licensed under the Apache License, Version 2.0 (the "License");
103d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * you may not use this file except in compliance with the License.
113d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * You may obtain a copy of the License at
123d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa *
133d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa *      http://www.apache.org/licenses/LICENSE-2.0
143d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa *
153d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * Unless required by applicable law or agreed to in writing, software
163d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * distributed under the License is distributed on an "AS IS" BASIS,
173d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
183d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * See the License for the specific language governing permissions and
193d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * limitations under the License.
203d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa *
213d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa *//*!
223d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * \file
233d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa * \brief X11Vulkan Platform.
243d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa *//*--------------------------------------------------------------------*/
253d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa
263d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa#include "vkWsiPlatform.hpp"
273d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa#include "vkPlatform.hpp"
283d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa#include "tcuX11.hpp"
293d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa
303d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwanamespace tcu
313d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa{
323d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwanamespace x11
333d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa{
343d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa
353d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwaclass VulkanPlatform : public vk::Platform
363d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa{
373d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwapublic:
383d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa						VulkanPlatform		(EventState& eventState);
393d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa	vk::wsi::Display*	createWsiDisplay	(vk::wsi::Type wsiType) const;
403d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa	vk::Library*		createLibrary		(void) const;
413d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa	void				describePlatform	(std::ostream& dst) const;
423d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa	void				getMemoryLimits		(vk::PlatformMemoryLimits& limits) const;
433d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa
443d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwaprivate :
453d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa	 EventState&		m_eventState;
463d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa};
473d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa
483d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa
493d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa} // x11
503d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa} // tcu
513d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa
523d6f22c833396c0c0b5806868f3e11f8ea05de3aArkadiusz Sarwa#endif // _TCUX11VULKANPLATFORM_HPP
53