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
416 stars 53 forks source link

RGA layer creates only logfile #42

Open Ext3h opened 5 years ago

Ext3h commented 5 years ago

I am trying to create a dump with VK_LAYER_RGA_pipeline_extraction on Windows 10 with a Vulkan 1.1.101.0 runtime. Application is Vulkan 1.0 compatible.

The application is utilizing VkSpecializationInfo (with a several dozen parameters, typical uber shader) and push constants, but aside from that nothing unusual.

I have all the documented environment variables set: ENABLE_RGA_PIPELINE_EXTRACTION_LAYER=1;RGA_LAYER_LOG_ENABLE=1RGA_LAYER_OUTPUT_PATH=C:\RGADump

VK_LAYER_RGA_pipeline_extraction is the only active layer, and I can confirm that it actually intercepts all the relevant API calls, for several pipelines, render passes etc.

The VK_EXT_debug_marker extension is not available (and hence also unused).

Yet this is the only output it ever creates:

Convertion started version 1 Handling samplers. Handling descriptor set layout.

The log file stops there and no warnings or anything whatsoever during application shutdown.

AmitBM commented 5 years ago

Hi Ext3h,

Thanks for reporting this issue.

Will you be able to:

  1. Set the following environment variable: RGA_LAYER_DUMP_FOSSILIZED=1 and rerun the app with the layer enabled. This should generate a fossilize.json file in the output directory.
  2. Share fossilize.json (note: that file will contain compressed blobs of your shader binaries).
Ext3h commented 5 years ago

fossilize.zip

Ok, got a fossilize dump.

pmathia0 commented 4 years ago

I have the same problem

pmathia0 commented 4 years ago

any updates? I found out that Vulkan examples by Sascha Willems work fine, but only when API version set to 1.0 My app however doesn't work event with 1.0 API

pmathia0 commented 4 years ago

Found a solution! - I had some sync issues in my app, discovered by Khronos sync validation layer. One issue was in texture staging barrier, another in render pass, missing dependency. Visually all was good. After fixing the sync issues pointed out by sync layer, the RGP layer works! Ad: RGP layer works only when I set VK_API_VERSION_1_0 in instance