Home | History | Annotate | Download | only in api
      1 #ifndef _VKTAPIBUFFERCOMPUTEINSTANCE_HPP
      2 #define _VKTAPIBUFFERCOMPUTEINSTANCE_HPP
      3 /*-------------------------------------------------------------------------
      4  * Vulkan Conformance Tests
      5  * ------------------------
      6  *
      7  * Copyright (c) 2015 The Khronos Group Inc.
      8  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
      9  * Copyright (c) 2015 Google Inc.
     10  *
     11  * Licensed under the Apache License, Version 2.0 (the "License");
     12  * you may not use this file except in compliance with the License.
     13  * You may obtain a copy of the License at
     14  *
     15  *      http://www.apache.org/licenses/LICENSE-2.0
     16  *
     17  * Unless required by applicable law or agreed to in writing, software
     18  * distributed under the License is distributed on an "AS IS" BASIS,
     19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     20  * See the License for the specific language governing permissions and
     21  * limitations under the License.
     22  *
     23  *//*--------------------------------------------------------------------*/
     24 
     25 #include "tcuDefs.hpp"
     26 #include "tcuVectorType.hpp"
     27 #include "vkRef.hpp"
     28 #include "vkMemUtil.hpp"
     29 #include "vktTestCase.hpp"
     30 
     31 namespace vkt
     32 {
     33 namespace api
     34 {
     35 
     36 vk::Move<vk::VkBuffer>					createDataBuffer		(vkt::Context&					context,
     37 																 deUint32						offset,
     38 																 deUint32						bufferSize,
     39 																 deUint32						initData,
     40 																 deUint32						initDataSize,
     41 																 deUint32						uninitData,
     42 																 de::MovePtr<vk::Allocation>*	outAllocation);
     43 
     44 vk::Move<vk::VkBuffer>					createColorDataBuffer (	deUint32 offset,
     45 																deUint32 bufferSize,
     46 																const tcu::Vec4& color1,
     47 																const tcu::Vec4& color2,
     48 																de::MovePtr<vk::Allocation>* outAllocation,
     49 																vkt::Context& context);
     50 
     51 vk::Move<vk::VkDescriptorSetLayout>		createDescriptorSetLayout (vkt::Context& context);
     52 
     53 vk::Move<vk::VkDescriptorPool>			createDescriptorPool (vkt::Context& context);
     54 
     55 vk::Move<vk::VkDescriptorSet>			createDescriptorSet		(vkt::Context&				context,
     56 																 vk::VkDescriptorPool		pool,
     57 																 vk::VkDescriptorSetLayout	layout,
     58 																 vk::VkBuffer				buffer,
     59 																 deUint32					offset,
     60 																 vk::VkBuffer				resBuf);
     61 
     62 vk::Move<vk::VkDescriptorSet>			createDescriptorSet (vk::VkDescriptorPool pool,
     63 															  vk::VkDescriptorSetLayout layout,
     64 															  vk::VkBuffer viewA, deUint32 offsetA,
     65 															  vk::VkBuffer viewB,
     66 															  deUint32 offsetB,
     67 															  vk::VkBuffer resBuf,
     68 															  vkt::Context& context);
     69 
     70 } // api
     71 } // vkt
     72 
     73 #endif // _VKTAPIBUFFERCOMPUTEINSTANCE_HPP
     74