• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _VKSCACHEBUILDER_HPP
2 #define _VKSCACHEBUILDER_HPP
3 
4 /*-------------------------------------------------------------------------
5  * Vulkan CTS Framework
6  * --------------------
7  *
8  * Copyright (c) 2021 The Khronos Group Inc.
9  *
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  *      http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  *
22  *-------------------------------------------------------------------------*/
23 
24 #include "vksCommon.hpp"
25 #include "vksStructsVKSC.hpp"
26 
27 #include "vkPrograms.hpp"
28 
29 namespace vksc_server
30 {
31 
32 void							exportFilesForExternalCompiler	(const VulkanPipelineCacheInput&	input,
33 																 const std::string&					path,
34 																 const std::string&					filePrefix);
35 vector<u8>						buildOfflinePipelineCache		(const VulkanPipelineCacheInput&	input,
36 																const std::string&					pipelineCompilerPath,
37 																const std::string&					pipelineCompilerDataDir,
38 																const std::string&					pipelineCompilerArgs,
39 																const std::string&					pipelineCompilerOutputFile,
40 																const std::string&					pipelineCompilerLogFile,
41 																const std::string&					pipelineCompilerFilePrefix);
42 vector<u8>						buildPipelineCache				(const VulkanPipelineCacheInput&	input,
43 																 const vk::PlatformInterface&		vkp,
44 																 vk::VkInstance						instance,
45 																 const vk::InstanceInterface&		vki,
46 																 vk::VkPhysicalDevice				physicalDevice,
47 																 deUint32							queueIndex);
48 std::vector<VulkanPipelineSize>	extractSizesFromPipelineCache	(const VulkanPipelineCacheInput&	input,
49 																 const vector<u8>&					pipelineCache,
50 																 deUint32							pipelineDefaultSize,
51 																 bool								recyclePipelineMemory);
52 
53 }
54 
55 #endif // _VKSCACHEBUILDER_HPP
56