VkPipeline
object are compiled as a single entity using the LLVM-Based Pipeline Compiler (LLPC) library. LLPC builds on LLVM's existing shader compilation infrastructure for AMD GPUs to generate code objects compatible with PAL's pipeline ABI. Notably, AMD's closed-source Vulkan driver currently uses a different pipeline compiler, which is the major difference between AMD's open-source and closed-source Vulkan drivers.name,value
pair per line: Kensington trackball driver windows 10.Setting Name | Valid Values | Comment |
---|---|---|
ShaderCacheMode | 0: disable cache 1: runtime cache 2: cache to disk | Runtime cache is the default mode. For 'cache to disk', the cache file is generated under $AMD_SHADER_DISK_CACHE_PATH/AMD/LlpcCache or $XDG_CACHE_HOME/AMD/LlpcCache or $HOME/.cache/AMD/LlpcCache |
IFH | 0: default 1: drop all submits | Infinitely Fast Hardware. Submit calls are dropped before being sent to hardware. Useful for measuring CPU-limited performance. |
EnableVmAlwaysValid | 0: disable 1: default 2: force enable | 1 is the default setting which enables the VM-always-valid feature for kernel 4.16 and above. The feature can reduce command buffer submission overhead related to virtual memory management. |
IdleAfterSubmitGpuMask | Bitmask of GPUs (i.e., bit 0 is GPU0, etc.) | Forces the CPU to immediately wait for each GPU submission to complete on the specified set of GPUs. |
;
will be treated as comments.Setting Name | Value | Comment |
---|---|---|
GpuProfilerMode | 0: disable 1: enable with sqtt off 2: enable with sqtt for thread trace 3: enable with sqtt for RGP | Enables and sets the SQTT mode for the GPU performance profiler layer. Actual capture of performance data must be specified via frame number with GpuProfilerConfig_StartFrame or by pressing shift-F11. |
GpuProfilerConfig.LogDirectory | <directory-path> | The directory path is relative to $AMD_DEBUG_DIR or $TMPDIR or /var/tmp/, default value is 'amdpal/'. Your application must have write permissions to the directory. The profiling logs are output to a subdirectory that is named in the format like <AppName><yyyy-MM-dd><HH:mm:ss>. |
GpuProfilerConfig.Granularity | 0: per-draw 1: per-cmdbuf | Defines what is measured/profiled. Per-draw times individual commands (such as draw, dispatch, etc.) inside command buffers, while per-cmdbuf only profiles entire command buffers in aggregate. |
GpuProfilerConfig.StartFrame | Positive integer | First frame to capture data for. If StartFrame and FrameCount are not set, all frames will be profiled. |
GpuProfilerConfig.FrameCount | Positive integer | Number of frames to capture data for. |
GpuProfilerConfig.RecordPipelineStats | 0, 1 | Gathers pipeline statistic query data per entry if enabled. |
Setting Name | Value | Comment |
---|---|---|
DebugOverlayEnabled | 0, 1 | Enables the debug overlay. |
DebugOverlayConfig.DebugOverlayLocation | 0: top-left 1: top-right 2: bottom-left 3: bottom-right | Determines where the overlay text should be displayed. Can be used to avoid collision with important rendering by the application. |
DebugOverlayConfig.PrintFrameNumber | 0, 1 | Reports the current frame number. Useful when determining a good frame range for profiling with the GpuProfiler layer. |
DebugOverlayConfig.TimeGraphEnable | 0, 1 | Enables rendering of a graph of recent CPU and GPU frame times. |