-
Notifications
You must be signed in to change notification settings - Fork 407
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move the giant blocks of 'manual' code to files under layers/chassis DispatchObject and ValidationObject are a big mix of manual and generated code. The class definition headers #include a file defining generated methods. chassis.h is now a manual file that only defines some shared data structures and the manual defined functions needed by the generated code.
- Loading branch information
1 parent
b9b8a23
commit 3e68248
Showing
89 changed files
with
34,182 additions
and
30,383 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
/*************************************************************************** | ||
* | ||
* Copyright (c) 2015-2024 The Khronos Group Inc. | ||
* Copyright (c) 2015-2024 Valve Corporation | ||
* Copyright (c) 2015-2024 LunarG, Inc. | ||
* Copyright (c) 2015-2024 Google Inc. | ||
* Copyright (c) 2023-2024 RasterGrid Kft. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
****************************************************************************/ | ||
#include <vulkan/vulkan.h> | ||
|
||
namespace vulkan_layer_chassis { | ||
typedef enum ApiFunctionType { kFuncTypeInst = 0, kFuncTypePdev = 1, kFuncTypeDev = 2 } ApiFunctionType; | ||
typedef struct { | ||
ApiFunctionType function_type; | ||
void* funcptr; | ||
} function_data; | ||
|
||
// Manually written functions referenced from generated code in chassis.cpp | ||
|
||
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetDeviceProcAddr(VkDevice device, const char* funcName); | ||
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetInstanceProcAddr(VkInstance instance, const char* funcName); | ||
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetPhysicalDeviceProcAddr(VkInstance instance, const char* funcName); | ||
|
||
VKAPI_ATTR VkResult VKAPI_CALL EnumerateInstanceLayerProperties(uint32_t* pCount, VkLayerProperties* pProperties); | ||
VKAPI_ATTR VkResult VKAPI_CALL EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pCount, | ||
VkLayerProperties* pProperties); | ||
|
||
VKAPI_ATTR VkResult VKAPI_CALL CreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, | ||
VkInstance* pInstance); | ||
VKAPI_ATTR void VKAPI_CALL DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator); | ||
|
||
VKAPI_ATTR VkResult VKAPI_CALL CreateDevice(VkPhysicalDevice gpu, const VkDeviceCreateInfo* pCreateInfo, | ||
const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); | ||
VKAPI_ATTR void VKAPI_CALL DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator); | ||
|
||
VKAPI_ATTR VkResult VKAPI_CALL CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, | ||
const VkGraphicsPipelineCreateInfo* pCreateInfos, | ||
const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); | ||
VKAPI_ATTR VkResult VKAPI_CALL CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, | ||
const VkComputePipelineCreateInfo* pCreateInfos, | ||
const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); | ||
VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesNV(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, | ||
const VkRayTracingPipelineCreateInfoNV* pCreateInfos, | ||
const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); | ||
VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesKHR(VkDevice device, VkDeferredOperationKHR deferredOperation, | ||
VkPipelineCache pipelineCache, uint32_t createInfoCount, | ||
const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, | ||
const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); | ||
VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, | ||
const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); | ||
VKAPI_ATTR VkResult VKAPI_CALL CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, | ||
const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); | ||
VKAPI_ATTR VkResult VKAPI_CALL CreateShadersEXT(VkDevice device, uint32_t createInfoCount, | ||
const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, | ||
VkShaderEXT* pShaders); | ||
VKAPI_ATTR VkResult VKAPI_CALL AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, | ||
VkDescriptorSet* pDescriptorSets); | ||
VKAPI_ATTR VkResult VKAPI_CALL CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, | ||
const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); | ||
VKAPI_ATTR VkResult VKAPI_CALL QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); | ||
VKAPI_ATTR VkResult VKAPI_CALL BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); | ||
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, | ||
VkPhysicalDeviceToolPropertiesEXT* pToolProperties); | ||
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolProperties(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, | ||
VkPhysicalDeviceToolProperties* pToolProperties); | ||
VKAPI_ATTR VkResult VKAPI_CALL CreateValidationCacheEXT(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, | ||
const VkAllocationCallbacks* pAllocator, | ||
VkValidationCacheEXT* pValidationCache); | ||
VKAPI_ATTR void VKAPI_CALL DestroyValidationCacheEXT(VkDevice device, VkValidationCacheEXT validationCache, | ||
const VkAllocationCallbacks* pAllocator); | ||
VKAPI_ATTR VkResult VKAPI_CALL MergeValidationCachesEXT(VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, | ||
const VkValidationCacheEXT* pSrcCaches); | ||
VKAPI_ATTR VkResult VKAPI_CALL GetValidationCacheDataEXT(VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, | ||
void* pData); | ||
VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, | ||
VkPhysicalDevice* pPhysicalDevices); | ||
} // namespace vulkan_layer_chassis |
Oops, something went wrong.