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
31namespace vkt
32{
33namespace api
34{
35
36vk::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
44vk::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
51vk::Move<vk::VkDescriptorSetLayout>		createDescriptorSetLayout (vkt::Context& context);
52
53vk::Move<vk::VkDescriptorPool>			createDescriptorPool (vkt::Context& context);
54
55vk::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
62vk::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