From 1eb06512555668feca7c6a26777992d2c2e5d493 Mon Sep 17 00:00:00 2001 From: sean Date: Wed, 1 Mar 2023 21:58:33 +0100 Subject: [PATCH] Note new Vulkan context constructor in documentation --- manual/tracy.tex | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/manual/tracy.tex b/manual/tracy.tex index 31624eb3..ebc2f7d6 100644 --- a/manual/tracy.tex +++ b/manual/tracy.tex @@ -1523,6 +1523,12 @@ In order to maintain synchronization between CPU and GPU time domains, you will To enable calibrated context, replace the macro \texttt{TracyVkContext} with \texttt{TracyVkContextCalibrated} and pass the two functions as additional parameters, in the order specified above. +\subparagraph{Using Vulkan 1.2 features} + +Vulkan 1.2 and \texttt{VK\_EXT\_host\_query\_reset} provide mechanics to reset the query pool without the need of a command buffer. By using \texttt{TracyVkContextHostCalibrated} you can make use of this feature. It only requires a function pointer to \texttt{vkResetQueryPool} in addition to the ones required for \texttt{TracyVkContextCalibrated} instead of the VkQueue and VkCommandBuffer handles. + +However, using this feature requires the physical device to have calibrated device and host time domains. In addition to \texttt{VK\_TIME\_DOMAIN\_DEVICE\_EXT}, \texttt{vkGetPhysicalDeviceCalibrateableTimeDomainsEXT} will have to additionally return either \texttt{VK\_TIME\_DOMAIN\_CLOCK\_MONOTONIC\_RAW\_EXT} or \texttt{VK\_TIME\_DOMAIN\_QUERY\_PERFORMANCE\_COUNTER\_EXT} for Unix and Windows, respectively. If this is not the case, you will need to use \texttt{TracyVkContextCalibrated} or \texttt{TracyVkContext} macro instead. + \subsubsection{Direct3D 11} To enable Direct3D 11 support, include the \texttt{public/tracy/TracyD3D11.hpp} header file, and create a \texttt{TracyD3D11Ctx} object with the \texttt{TracyD3D11Context(device, devicecontext)} macro. The object should later be cleaned up with the \texttt{TracyD3D11Destroy} macro. Tracy does not support D3D11 command lists. To set a custom name for the context, use the \texttt{TracyGpuContextName(name, size)} macro.