xref: /aosp_15_r20/external/deqp/external/vulkancts/modules/vulkan/api/vktApiBufferComputeInstance.hpp (revision 35238bce31c2a825756842865a792f8cf7f89930)
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, uint32_t offset, uint32_t bufferSize, uint32_t initData,
37                                         uint32_t initDataSize, uint32_t uninitData,
38                                         de::MovePtr<vk::Allocation> *outAllocation);
39 
40 vk::Move<vk::VkBuffer> createColorDataBuffer(uint32_t offset, uint32_t bufferSize, const tcu::Vec4 &color1,
41                                              const tcu::Vec4 &color2, de::MovePtr<vk::Allocation> *outAllocation,
42                                              vkt::Context &context);
43 
44 vk::Move<vk::VkDescriptorSetLayout> createDescriptorSetLayout(vkt::Context &context);
45 
46 vk::Move<vk::VkDescriptorPool> createDescriptorPool(vkt::Context &context);
47 
48 vk::Move<vk::VkDescriptorSet> createDescriptorSet(vkt::Context &context, vk::VkDescriptorPool pool,
49                                                   vk::VkDescriptorSetLayout layout, vk::VkBuffer buffer,
50                                                   uint32_t offset, vk::VkBuffer resBuf);
51 
52 vk::Move<vk::VkDescriptorSet> createDescriptorSet(vk::VkDescriptorPool pool, vk::VkDescriptorSetLayout layout,
53                                                   vk::VkBuffer viewA, uint32_t offsetA, vk::VkBuffer viewB,
54                                                   uint32_t offsetB, vk::VkBuffer resBuf, vkt::Context &context);
55 
56 } // namespace api
57 } // namespace vkt
58 
59 #endif // _VKTAPIBUFFERCOMPUTEINSTANCE_HPP
60