diff options
| author | 2019-09-05 16:53:28 +0000 | |
|---|---|---|
| committer | 2019-09-05 16:53:28 +0000 | |
| commit | b653dd0a088f3be9d0fccd3d2099b3f8ab63ca2c (patch) | |
| tree | a3796f67d19deece6118e60d2faebde9499ce083 /vulkan/libvulkan/api.cpp | |
| parent | 0bc2361309d705f8c7f7766f1912fd0f7035d199 (diff) | |
| parent | 9c724d78b9f2e00a7d4de3bfd2c65f6226fa8529 (diff) | |
Merge "DO NOT MERGE - Merge Android 10 into master"
Diffstat (limited to 'vulkan/libvulkan/api.cpp')
| -rw-r--r-- | vulkan/libvulkan/api.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/vulkan/libvulkan/api.cpp b/vulkan/libvulkan/api.cpp index 673a066182..71048db920 100644 --- a/vulkan/libvulkan/api.cpp +++ b/vulkan/libvulkan/api.cpp @@ -21,6 +21,8 @@ // There are a few of them requiring manual code for things such as layer // discovery or chaining. They call into functions defined in this file. +#define ATRACE_TAG ATRACE_TAG_GRAPHICS + #include <stdlib.h> #include <string.h> @@ -32,6 +34,7 @@ #include <android-base/strings.h> #include <cutils/properties.h> #include <log/log.h> +#include <utils/Trace.h> #include <vulkan/vk_layer_interface.h> #include <graphicsenv/GraphicsEnv.h> @@ -1176,6 +1179,8 @@ bool EnsureInitialized() { VkResult CreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) { + ATRACE_CALL(); + if (!EnsureInitialized()) return VK_ERROR_INITIALIZATION_FAILED; @@ -1184,6 +1189,8 @@ VkResult CreateInstance(const VkInstanceCreateInfo* pCreateInfo, void DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) { + ATRACE_CALL(); + if (instance != VK_NULL_HANDLE) LayerChain::DestroyInstance(instance, pAllocator); } @@ -1192,17 +1199,23 @@ VkResult CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) { + ATRACE_CALL(); + return LayerChain::CreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice); } void DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) { + ATRACE_CALL(); + if (device != VK_NULL_HANDLE) LayerChain::DestroyDevice(device, pAllocator); } VkResult EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) { + ATRACE_CALL(); + if (!EnsureInitialized()) return VK_ERROR_INITIALIZATION_FAILED; @@ -1225,6 +1238,8 @@ VkResult EnumerateInstanceExtensionProperties( const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) { + ATRACE_CALL(); + if (!EnsureInitialized()) return VK_ERROR_INITIALIZATION_FAILED; @@ -1253,6 +1268,8 @@ VkResult EnumerateInstanceExtensionProperties( VkResult EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) { + ATRACE_CALL(); + uint32_t count; const LayerChain::ActiveLayer* layers = LayerChain::GetActiveLayers(physicalDevice, count); @@ -1275,6 +1292,8 @@ VkResult EnumerateDeviceExtensionProperties( const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) { + ATRACE_CALL(); + if (pLayerName) { // EnumerateDeviceLayerProperties enumerates active layers for // backward compatibility. The extension query here should work for @@ -1302,6 +1321,8 @@ VkResult EnumerateDeviceExtensionProperties( } VkResult EnumerateInstanceVersion(uint32_t* pApiVersion) { + ATRACE_CALL(); + *pApiVersion = VK_API_VERSION_1_1; return VK_SUCCESS; } |