diff options
| author | Chia-I Wu <olv@google.com> | 2016-04-28 11:27:46 +0800 |
|---|---|---|
| committer | Tobin Ehlis <tobine@google.com> | 2016-05-05 06:42:19 -0600 |
| commit | 9e6eb6e25b61266f73db57a48b4a9b8328d429ac (patch) | |
| tree | 88de82479877de44557b297127f8cb731d6cdab1 /layers/device_limits.cpp | |
| parent | beb559f5d3153f4b22227e953f3747a2981fae5a (diff) | |
| download | usermoji-9e6eb6e25b61266f73db57a48b4a9b8328d429ac.tar.xz | |
device_limits: put layer functions into a namespace
Put all layer fucntions/data into device_limits namespace. I had to add
some wrappers to make everything work.
Diffstat (limited to 'layers/device_limits.cpp')
| -rw-r--r-- | layers/device_limits.cpp | 48 |
1 files changed, 43 insertions, 5 deletions
diff --git a/layers/device_limits.cpp b/layers/device_limits.cpp index 90dee4ab..38e215c7 100644 --- a/layers/device_limits.cpp +++ b/layers/device_limits.cpp @@ -45,6 +45,8 @@ #include "vk_layer_extension_utils.h" #include "vk_layer_utils.h" +namespace device_limits { + // This struct will be stored in a map hashed by the dispatchable object struct layer_data { debug_report_data *report_data; @@ -74,8 +76,6 @@ static unordered_map<void *, layer_data *> layer_data_map; static int globalLockInitialized = 0; static loader_platform_thread_mutex globalLock; -template layer_data *get_my_data_ptr<layer_data>(void *data_key, std::unordered_map<void *, layer_data *> &data_map); - static void init_device_limits(layer_data *my_data, const VkAllocationCallbacks *pAllocator) { layer_debug_actions(my_data->report_data, my_data->logging_callback, pAllocator, "lunarg_device_limits"); @@ -767,17 +767,55 @@ VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(V } } +} // namespace device_limits + +// vk_layer_logging.h expects these to be defined + +VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL +vkCreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT *pCreateInfo, + const VkAllocationCallbacks *pAllocator, VkDebugReportCallbackEXT *pMsgCallback) { + return device_limits::vkCreateDebugReportCallbackEXT(instance, pCreateInfo, pAllocator, pMsgCallback); +} + +VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(VkInstance instance, + VkDebugReportCallbackEXT msgCallback, + const VkAllocationCallbacks *pAllocator) { + device_limits::vkDestroyDebugReportCallbackEXT(instance, msgCallback, pAllocator); +} + +VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL +vkDebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objType, uint64_t object, + size_t location, int32_t msgCode, const char *pLayerPrefix, const char *pMsg) { + device_limits::vkDebugReportMessageEXT(instance, flags, objType, object, location, msgCode, pLayerPrefix, pMsg); +} + +// loader-layer interface v0 + VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(uint32_t *pCount, VkLayerProperties *pProperties) { - return util_GetLayerProperties(ARRAY_SIZE(dl_global_layers), dl_global_layers, pCount, pProperties); + return util_GetLayerProperties(ARRAY_SIZE(device_limits::dl_global_layers), device_limits::dl_global_layers, pCount, pProperties); } VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t *pCount, VkLayerProperties *pProperties) { - return util_GetLayerProperties(ARRAY_SIZE(dl_global_layers), dl_global_layers, pCount, pProperties); + return util_GetLayerProperties(ARRAY_SIZE(device_limits::dl_global_layers), device_limits::dl_global_layers, pCount, pProperties); } VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(const char *pLayerName, uint32_t *pCount, VkExtensionProperties *pProperties) { - return util_GetExtensionProperties(1, instance_extensions, pCount, pProperties); + return util_GetExtensionProperties(1, device_limits::instance_extensions, pCount, pProperties); +} + +VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, + const char *pLayerName, uint32_t *pCount, + VkExtensionProperties *pProperties) { + return device_limits::vkEnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pCount, pProperties); +} + +VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDevice dev, const char *funcName) { + return device_limits::vkGetDeviceProcAddr(dev, funcName); +} + +VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkInstance instance, const char *funcName) { + return device_limits::vkGetInstanceProcAddr(instance, funcName); } |
