GPUOpen-Tools / radeon_gpu_analyzer

The Radeon GPU Analyzer (RGA) is an offline compiler and code analysis tool for Vulkan, DirectX, OpenGL, and OpenCL.
MIT License
405 stars 53 forks source link

Offline mode for dx12? #77

Open tgjones opened 3 years ago

tgjones commented 3 years ago

I'd really like to support RGA's dx12 mode in Shader Playground - but as far as I can tell, dx12 mode (unlike dx11 mode) requires a live driver, which is certainly not present on the VMs that Shader Playground is hosted on.

Are there any plans to add an offline mode for dx12, analogous to the offline mode for Vulkan?

AmitBM commented 3 years ago

Hi tgjones,

We definitely want to enable DX12 shader compilation through RGA in Shader Playground. Let us see what we can do about it.

tgjones commented 3 years ago

Hi @AmitBM,

Thank you! Just as a concrete starting point, here's the output I get at the moment for http://shader-playground.timjones.io/ea1e9a2436ead1d95c7117025054aa1e:


Building for gfx1010...
Error: failed to find a DX12 display adapter.
Error: driver initialization failed.
Error: failed to invoke the DX12 backend.
Error: cannot retrieve the list of targets supported by the driver.
failed.
sebbbi commented 3 years ago

As a shader playground user, it would be great to be able to use RGAs DX12 mode in shader playground. Would allow me to validate optimal codegen on new Navi GPUs using the newest API features.

AmitBM commented 3 years ago

Hi Sebastian,

Thanks for emphasizing the importance of the feature - we are looking into this.

AmitBM commented 2 years ago

Hi tgjones, sebbbi,

RGA 2.6 (released today) introduces a new --offline command line switch in its DXR and DX12 modes, which allows you to use the tool on machines that do not have an installed AMD driver or hardware. If --offline is specified, the tool will use the AMD DXR/DX12 driver (amdxc64.dll) which it ships with, instead of looking for an installed driver. You can also plug & play a specific build of AMD's DXR/DX12 driver to be used by the tool using the --amdxc command line switch (assuming that the provided driver build is compatible with the tool).