Skip to content

GCN ISA

Baldur Karlsson edited this page Jul 5, 2017 · 9 revisions

GCN ISA disassembly

From recent versions (at least v0.35 and above) RenderDoc supports fetching GCN ISA for shaders on all platforms and APIs, with some caveats.

  • Vulkan - users of Vulkan get the best experience, it will work on all platforms without any hardware or driver requirements.
  • D3D11 and D3D12 - if you have the AMD driver installed on your system, then this should work as-is. Otherwise you can make it work without an installed AMD driver or graphics card, but you need to follow the steps below as currently the driver DLL cannot be distributed with RenderDoc.
  • OpenGL - unfortunately the OpenGL support requires an actively loaded AMD driver. This won't work if you are using another IHV, or if you're using e.g. the open source mesa driver. This is not something I can fix in RenderDoc, it is a restriction from the AMD provided disassembler.

D3D11 and D3D12 disassembly with AMD driver

The D3D11 and D3D12 disassembly requires a DLL from the AMD driver package which currently cannot be distributed with RenderDoc or provided as an optional download.

To obtain the DLL, follow these steps:

  1. Download the latest AMD driver package from http://support.amd.com - currently this is available here.
  2. Then run the exe which will self-extract to somewhere temporary on your computer.
  3. The rest of the installer may fail if it does not detect AMD hardware on your machine, this is fine. Go to the extracted folder.
  4. Inside the folder under Config/ read the license agreement and ensure you agree to it.
  5. Go inside Packages/Drivers/Display/ and keep going down until you find the set of dlls. Currently this is under Packages/Drivers/Display/WT6A_INF/B315169.
  6. Copy atidxx64.dll (or if you're running a 32-bit build of RenderDoc then atidxx32.dll) and place it next to amdspv.exe in your plugins folder. For an installed or extracted build of RenderDoc this is in plugins/amd/isa/ in the root folder, or if you are compiling locally it will be wherever you have the plugins folder.

Local builds

If you build locally you won't have the plugins available so your disassembly won't work properly. You can either copy in the folder from a distribution, or download https://renderdoc.org/plugins.zip and unzip it to the root of your git checkout to get all the latest plugins. Note this zip is only guaranteed to work for the latest RenderDoc version, but likely it will work for many previous versions.

This provides folders plugins-win32/, plugins-win64/ and plugins-linux64/. On windows the dist.sh script will place these into the right location for distribution, and any local builds should pick these up too.

Clone this wiki locally