NGFX_GPUTrace_InjectionSettings_V1#

struct NGFX_GPUTrace_InjectionSettings_V1#

struct containing GPUTrace injection settings Note, GPU-specific settings such as metric set, real-time shader profiler enablement, and bandwidth settings can only be specified in the Nsight Graphics host application.

Public Members

uint32_t version#

Used for versioning; must be assigned a value of NGFX_GPUTrace_InjectionSettings_VER.

NGFX_GPUTrace_StartEvent startEvent#

The type of event that triggers the start of GPU Trace.

uint32_t frameCount#

The number of frames that need to elapse after which GPU Trace is started when NGFX_GPUTrace_StartEvent_Frame is specified.

The number of frames to trace when NGFX_GPUTrace_StopEvent_Frame is specified.

uint32_t submitCount#

The number of submits that need to occur after which GPU Trace is started when NGFX_GPUTrace_StartEvent_Submit is specified.

The number of submits to trace when NGFX_GPUTrace_StopEvent_Submit is specified.

uint32_t durationMs#

The duration in milliseconds after which GPU Trace is started when NGFX_GPUTrace_StartEvent_Duration is specified.

union NGFX_GPUTrace_InjectionSettings_V1::[anonymous] startParams#

Parameters for the start event.

NGFX_GPUTrace_StopEvent stopEvent#

The type of event that triggers the end of GPU Trace.

union NGFX_GPUTrace_InjectionSettings_V1::[anonymous] stopParams#

Parameters for the stop event.

uint32_t maxDurationMs#

The maximum duration in milliseconds for which GPU Trace will run, this is a limiter used by all NGFX_GPUTrace_StopEvent types.

bool collectScreenshot#

If true, GPU Trace will collect a screenshot for present-based applications.

bool timeEveryAction#

If true, individual actions will be timed separately instead of being coalesced with adjacent actions of the same kind.

Enabling this option will introduce additional overhead.

bool traceShaderBindings#

If true, GPU Trace will intercept and trace information about pipeline and shader bindings.

bool collectShaderInfo#

If true, GPU Trace will collect shader information used by the Real-Time Shader Profiler.

bool collectExternalShaderDebugInfo#

If true, GPU Trace will attempt to resolve external debug information for shaders that don’t have it embedded.

bool enableNVTXranges#

If true, NVTX ranges can be used to create markers around submits.

Enabling this may introduce additional overhead.

uint32_t eventBufferSizeKB#

The amount of memory in kB that GPU Trace will allocate per API device to keep track of GPU events.

uint32_t timestampCount#

The amount of timestamps that GPU Trace will allocate per API device to keep track of GPU events, each timestamp is 32 bytes in size.

bool recompileCachedVulkanShaderModules#

If true, any pipelines that reference shader modules through identifiers from VK_EXT_shader_module_identifier will be recompiled.

Disabling this setting while using VK_EXT_shader_module_identifier may lead to shader source correlation being absent for shaders modules using identifiers.

bool disableD3D12DebugLayer#

If true, the D3D12 debug layer will be forcefully disabled.

bool forceD3D12BackgroundOptimizations#

If true, the D3D12 driver will perform background optimizations of shaders even when it detects that the additional CPU overhead will impact the application framerate.

uint32_t maxInternalVKSCCommandBuffersPerQueue#

Maximum number of internal command buffers GPU Trace can allocate per VulkanSC application queue.

uint32_t maxInternalVKSCCommandBuffersMemoryKB#

Maximum amount of memory in kB that GPU Trace can allocate for each internal VulkanSC command buffer.

NGFX_GPUTrace_VSyncMode vsyncMode#

Specifies how GPU Trace will interact with V-Sync.

NGFX_GPUTrace_GPUClockMode gpuClockMode#

Specifies how GPU Trace will interact with the clock speeds of the GPU.

bool forceRepaint#

If true, forces the application to continuously redraw the window, as opposed to only redrawing on change.

NGFX_GPUTrace_HUDPosition hudPosition#

The position of the GPU Trace HUD in the application window.