Skip to content

GPUOpen-Tools/isa_spec_manager

Repository files navigation

isa_spec_manager

A set of tools for parsing and using AMD's machine-readable GPU ISA specifications.

The IsaDecoder API makes it easy to parse the specification XML files, decode instructions and even decode whole shaders.

The explorer::Spec experimental API lets you iterate over the elements of a given specification file.

For usage examples, see the examples subfolder.

Building isa_spec_manager

To build the project, use the build scripts located in the ./build subfolder. Please note that the build process requires CMake with minimum version of 3.0.

Building on Linux

cd ./isa_spec_manager/build
./prebuild_linux.sh
cd linux
make

The above script will launch the cmake. The script will generate projects directory.

Building on Windows

cd ./isa_spec_manager/build
./prebuild_windows.bat

The above script will create a windows subfolder and generate a Visual Studio solution within it.

By default, a solution is generated for VS 2022. To generate a solution for a different VS version or to use a different MSVC toolchain use the --vs argument. For example, to generate the solution for VS 2019 with the VS 2019 toolchain, run:

./prebuild_windows.bat --vs 2019

Using the API

For the API and specification documentation, please see the documentation subfolder.

The following example files can give you a quick overview of how to start using the XML ISA spec in your project:

IsaDecoder

explorer::Spec

Getting the ISA specification files

The Machine-Readable GPU ISA specification files can be downloaded from AMD's Machine-Readable GPU ISA Specification page on GPUOpen.com.