Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76201e86 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "libvulkan: intercept vkQueueSubmit to insert a tracepoint"

parents 48b5a118 899d1758
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1313,5 +1313,16 @@ AllocateCommandBuffers(VkDevice device,
    return result;
}

VKAPI_ATTR VkResult QueueSubmit(VkQueue queue,
                                uint32_t submitCount,
                                const VkSubmitInfo* pSubmits,
                                VkFence fence) {
    ATRACE_CALL();

    const auto& data = GetData(queue);

    return data.driver.QueueSubmit(queue, submitCount, pSubmits, fence);
}

}  // namespace driver
}  // namespace vulkan
+1 −0
Original line number Diff line number Diff line
@@ -131,6 +131,7 @@ VKAPI_ATTR VkResult EnumeratePhysicalDeviceGroups(VkInstance instance, uint32_t*
VKAPI_ATTR void GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
VKAPI_ATTR void GetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
VKAPI_ATTR VkResult AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
VKAPI_ATTR VkResult QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
// clang-format on

template <typename DispatchableType>
+8 −0
Original line number Diff line number Diff line
@@ -443,6 +443,13 @@ const ProcHook g_proc_hooks[] = {
        nullptr,
        nullptr,
    },
    {
        "vkQueueSubmit",
        ProcHook::DEVICE,
        ProcHook::EXTENSION_CORE,
        reinterpret_cast<PFN_vkVoidFunction>(QueueSubmit),
        nullptr,
    },
    {
        "vkSetHdrMetadataEXT",
        ProcHook::DEVICE,
@@ -537,6 +544,7 @@ bool InitDriverTable(VkDevice dev,
    INIT_PROC(true, dev, GetDeviceProcAddr);
    INIT_PROC(true, dev, DestroyDevice);
    INIT_PROC(true, dev, GetDeviceQueue);
    INIT_PROC(true, dev, QueueSubmit);
    INIT_PROC(true, dev, CreateImage);
    INIT_PROC(true, dev, DestroyImage);
    INIT_PROC(true, dev, AllocateCommandBuffers);
+1 −0
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ struct DeviceDriverTable {
    PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
    PFN_vkDestroyDevice DestroyDevice;
    PFN_vkGetDeviceQueue GetDeviceQueue;
    PFN_vkQueueSubmit QueueSubmit;
    PFN_vkCreateImage CreateImage;
    PFN_vkDestroyImage DestroyImage;
    PFN_vkAllocateCommandBuffers AllocateCommandBuffers;
+4 −0
Original line number Diff line number Diff line
@@ -91,6 +91,8 @@ def isDriverTableEntry(functionName):
    'vkGetInstanceProcAddr' : True,
    'vkGetDeviceProcAddr' : True,

    'vkQueueSubmit' : True,

    # VK_KHR_swapchain->VK_ANDROID_native_buffer translation
    'vkCreateImage' : True,
    'vkDestroyImage' : True,
@@ -191,6 +193,8 @@ def isIntercepted(functionName):
    'vkGetInstanceProcAddr' : True,
    'vkGetDeviceProcAddr' : True,

    'vkQueueSubmit' : True,

    # VK_KHR_swapchain v69 requirement
    'vkBindImageMemory2' : True,
    'vkBindImageMemory2KHR' : True