Home » Blogs » AMD Radeon™ Raytracing Analyzer 1.7

Radeon™ Raytracing Analyzer 1.7 adds user marker support for ray dispatches

Picture of David DiGioia
David DiGioia

David DiGioia is a member of AMD's GPU Tools team and is currently a software engineer for the Radeon™ Raytracing Analyzer. Outside of work, he develops game engines, contributes to open source, and makes educational content.

The latest version of Radeon™ Raytracing Analyzer (RRA) is now available for download!

User markers

Since RRA 1.3 it has been possible to capture ray dispatch data from DirectX®12 and Vulkan applications. With RRA 1.7 it is possible to associate each dispatch with a user-defined string called a user marker.

They are meant to label sections of a frame’s rendering work to make it easier for developers to debug their applications with developer tools. User marker strings are pushed to a stack during command buffer recording, then when a ray tracing dispatch is recorded it will be associated with the current stack of user marker strings.

Required driver

Required Radeon™ Developer Panel (RDP) features

  • Currently you must enable both Raytracing and Profiling features before capturing the scene in Radeon Developer Panel (RDP) in order for user markers to be captured, as shown:

RDP capture settings

The RRA interface

In RRA, the user marker shows up in the Overview pane’s dispatch list as well as in the Ray pane’s dispatch tab.

  • Dispatch names will be shown below the dispatch API call. Each string pushed to the stack is separated by a forward slash, and in the overview pane the most recent string pushed to the stack is shown on a new line, shown below:

RRA dispatch list

  • The Ray pane shows the user marker associated with the dispatch under the dispatch dropdown:

RRA dispatches

DirectX12 user markers

See the DirectX12 User Markers section in the RGP User Debug Markers documentation, which provides a comprehensive description of adding user markers to your application.

Vulkan user markers

See the Vulkan User Markers section in the RGP User Debug Markers documentation for some examples.

For the Vulkan example shown in the screenshots provided here, the order of commands would look like the following:

VkDebugUtilsLabelEXT label {
.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT,
.pLabelName = "Frame 2854 Graphics CB",
.color = {0.0f, 0.0f, 0.0f, 1.0},
}
vkCmdBeginDebugUtilsLabelEXT(cmd, &label);

// Other commands recorded here.
label.pLabelName = "Vk_Renderer::draw";
vkCmdBeginDebugUtilsLabelEXT(cmd, &label);

// Other commands recorded here.
label.pLabelName = "Vk_Renderer::draw::Raytracing";
vkCmdBeginDebugUtilsLabelEXT(cmd, &label);

vkCmdTraceRaysKHR(cmd, &ray_table, &miss_table, &hit_table, &callable_table, 1920, 1080, 1);

vkCmdEndDebugUtilsLabelEXT(cmd);
vkCmdEndDebugUtilsLabelEXT(cmd);
vkCmdEndDebugUtilsLabelEXT(cmd);

Get the Radeon Developer Tool Suite today!

You can find out more about RRA, including links to the release binaries on GitHub and the full release notes list, on our product page.

Your feedback is incredibly valuable to us and helps drive the RRA roadmap forward, so if you want something and it makes sense then just let us know!

Driver experiments

Introducing Driver Experiments

Ever wondered why your app is not working properly on a particular GPU? Driver Experiments lets graphics programmers disable some graphics driver optimizations or enable extra safety features.

Picture of David DiGioia
David DiGioia

David DiGioia is a member of AMD's GPU Tools team and is currently a software engineer for the Radeon™ Raytracing Analyzer. Outside of work, he develops game engines, contributes to open source, and makes educational content.

Enjoy this blog post? If you found it useful, why not share it with other game developers?

You may also like...

Getting started: AMD GPUOpen software

New or fairly new to AMD’s tools, libraries, and effects? This is the best place to get started on GPUOpen!

AMD GPUOpen Getting Started Development and Performance

Looking for tips on getting started with developing and/or optimizing your game, whether on AMD hardware or generally? We’ve got you covered!

GPUOpen Manuals

Don’t miss our manual documentation! And if slide decks are what you’re after, you’ll find 100+ of our finest presentations here.

AMD GPUOpen Technical blogs

Browse our technical blogs, and find valuable advice on developing with AMD hardware, ray tracing, Vulkan®, DirectX®, Unreal Engine, and lots more.

AMD GPUOpen videos

Words not enough? How about pictures? How about moving pictures? We have some amazing videos to share with you!

AMD GPUOpen Performance Guides

The home of great performance and optimization advice for AMD RDNA™ 2 GPUs, AMD Ryzen™ CPUs, and so much more.

AMD GPUOpen software blogs

Our handy software release blogs will help you make good use of our tools, SDKs, and effects, as well as sharing the latest features with new releases.

AMD GPUOpen publications

Discover our published publications.