Driver commands
Enums
-
enum class Drv3dCommand
Values:
-
enumerator GETVISIBILITYBEGIN
-
enumerator GETVISIBILITYEND
-
enumerator GETVISIBILITYCOUNT
-
enumerator RELEASE_QUERY
-
enumerator ACQUIRE_OWNERSHIP
acquire/release D3D lock (to perform rendering in non-primary thread)
-
enumerator RELEASE_OWNERSHIP
-
enumerator ACQUIRE_LOADING
acquire/release a mutex to perform resource loading in non-primary thread and postpone GPU resets, the lock is nonexclusive.
-
enumerator RELEASE_LOADING
-
enumerator GET_GPU_FRAME_TIME
-
enumerator GET_VSYNC_REFRESH_RATE
-
enumerator SET_PIPELINE_COMPILATION_TIME_BUDGET
-
enumerator GET_PIPELINE_COMPILATION_QUEUE_LENGTH
-
enumerator ASYNC_PIPELINE_COMPILATION_FEEDBACK_BEGIN
-
enumerator ASYNC_PIPELINE_COMPILATION_FEEDBACK_END
-
enumerator TIMESTAMPFREQ
-
enumerator TIMESTAMPISSUE
-
enumerator TIMESTAMPGET
-
enumerator TIMECLOCKCALIBRATION
Gets CPU and GPU time nearly at the same moment.
-
enumerator FLUSH_STATES
-
enumerator D3D_FLUSH
-
enumerator COMPILE_PIPELINE
flush pipeline states to compile pipeline
-
enumerator GET_SECONDARY_BACKBUFFER
-
enumerator GET_VENDOR
-
enumerator OVERRIDE_MAX_ANISOTROPY_LEVEL
-
enumerator MAKE_TEXTURE
-
enumerator GET_TEXTURE_HANDLE
-
enumerator BEGIN_EXTERNAL_ACCESS
-
enumerator END_EXTERNAL_ACCESS
-
enumerator SET_VS_DEBUG_INFO
-
enumerator SET_PS_DEBUG_INFO
-
enumerator BEGIN_MRT_CLEAR_SEQUENCE
-
enumerator END_MRT_CLEAR_SEQUENCE
-
enumerator GET_SHADER_CACHE_UUID
-
enumerator AFTERMATH_MARKER
-
enumerator START_CAPTURE_FRAME
-
enumerator IS_HDR_AVAILABLE
-
enumerator IS_HDR_ENABLED
-
enumerator INT10_HDR_BUFFER
-
enumerator HDR_OUTPUT_MODE
-
enumerator GET_LUMINANCE
-
enumerator MEM_STAT
-
enumerator REGISTER_SHADER_DUMP
-
enumerator GET_SHADER
-
enumerator PIX_GPU_BEGIN_CAPTURE
-
enumerator PIX_GPU_END_CAPTURE
-
enumerator PIX_GPU_CAPTURE_NEXT_FRAMES
-
enumerator PIX_GPU_CAPTURE_AFTER_LONG_FRAMES
-
enumerator GET_FRAMERATE_LIMITING_FACTOR
-
enumerator LOAD_PIPELINE_CACHE
-
enumerator SAVE_PIPELINE_CACHE
-
enumerator GET_DLSS
-
enumerator GET_REFLEX
-
enumerator GET_XESS_STATE
-
enumerator IS_XESS_QUALITY_AVAILABLE_AT_RESOLUTION
-
enumerator GET_XESS_RESOLUTION
-
enumerator GET_XESS_VERSION
-
enumerator EXECUTE_DLSS
-
enumerator EXECUTE_DLSS_G
-
enumerator EXECUTE_XESS
-
enumerator SET_XESS_VELOCITY_SCALE
-
enumerator EXECUTE_FSR
-
enumerator EXECUTE_FSR2
-
enumerator GET_FSR2_STATE
-
enumerator GET_FSR2_RESOLUTION
-
enumerator EXECUTE_PSSR
-
enumerator GET_METALFX_UPSCALE_STATE
-
enumerator EXECUTE_METALFX_UPSCALE
-
enumerator GET_TIMINGS
-
enumerator GET_RAYTRACE_ACCELERATION_STRUCTURES_MEMORY_USAGE
-
enumerator DEBUG_MESSAGE
-
enumerator GET_MONITORS
-
enumerator GET_MONITOR_INFO
-
enumerator GET_RESOLUTIONS_FROM_MONITOR
-
enumerator GET_VIDEO_MEMORY_BUDGET
Returns video memory budget in KiByte values par1: pointer to uint32_t: Total memory budget on the device, possibly less than physical memory of the device par2: pointer to uint32_t: Free memory budget on the device, this is *par1 minus used memory par3: pointer to uint32_t: Used memory, this is *par1 minus *par2 Return: uint32_t: Physical memory of the device
-
enumerator GET_RENDERING_COMMAND_QUEUE
-
enumerator GET_INSTANCE
-
enumerator GET_PHYSICAL_DEVICE
-
enumerator GET_QUEUE_FAMILY_INDEX
-
enumerator GET_QUEUE_INDEX
-
enumerator PROCESS_APP_INACTIVE_UPDATE
-
enumerator PRE_ROTATE_PASS
-
enumerator REGISTER_FRAME_COMPLETION_EVENT
-
enumerator REGISTER_ONE_TIME_FRAME_EXECUTION_EVENT_CALLBACKS
-
enumerator REPORT_RESOURCE_STATE_TRANSITIONS
-
enumerator REGISTER_DEVICE_RESET_EVENT_HANDLER
-
enumerator UNREGISTER_DEVICE_RESET_EVENT_HANDLER
-
enumerator PREPARE_TEXTURES_FOR_VR_CONSUMPTION
-
enumerator SET_APP_INFO
-
enumerator SEND_GPU_CRASH_DUMP
-
enumerator PROCESS_PENDING_RESOURCE_UPDATED
-
enumerator GET_PS5_PSSR_STATUS
-
enumerator SET_FREQ_LEVEL
-
enumerator ENABLE_IMMEDIATE_FLUSH
-
enumerator DISABLE_IMMEDIATE_FLUSH
-
enumerator GET_WORKER_CPU_CORE
-
enumerator SET_PS5_FSR_VIEW
-
enumerator SET_HDR
-
enumerator DEBUG_BREAK
-
enumerator ADD_DEBUG_BREAK_STRING_SEARCH
-
enumerator REMOVE_DEBUG_BREAK_STRING_SEARCH
-
enumerator IS_DEFRAG_REQUESTED
-
enumerator PROCESS_PENDING_DEFRAG_REQUESTS
-
enumerator COMPILE_PIPELINE_SET
-
enumerator GET_BUFFER_GPU_ADDRESS
-
enumerator ENABLE_WORKER_LOW_LATENCY_MODE
-
enumerator LOGERR_ON_SYNC
-
enumerator SET_DRIVER_NETWORD_MANAGER
-
enumerator GET_CONSOLE_HFR_STATUS
-
enumerator GET_CONSOLE_HFR_SUPPORTED
-
enumerator GET_RESOURCE_STATISTICS
-
enumerator DELAY_SYNC
-
enumerator CONTINUE_SYNC
-
enumerator CHANGE_QUEUE
-
enumerator USER
-
enumerator GETVISIBILITYBEGIN
-
struct FrameEvents
-
struct DeviceResetEventHandler
-
struct Drv3dTimings
Public Members
-
long long frontendUpdateScreenInterval
-
long long frontendToBackendUpdateScreenLatency
-
long long frontendBackendWaitDuration
-
long long backendFrontendWaitDuration
-
long long gpuWaitDuration
-
long long presentDuration
-
long long backbufferAcquireDuration
-
long long frontendWaitForSwapchainDuration
-
long long frontendUpdateScreenInterval
-
struct CompilePipelineSet
All values are optional, but graphics and mesh pipelines can not be created without output and render state sets.
Public Members
-
const char *defaultFormat
V1 and V2 value. When not specified, the driver assumes its driver specific format (if supported) and otherwise engine.
-
const DataBlock *featureSet
V1 and V2 block. A block with a set of feature sets referenced by pipelines in the pipeline sets to indicate required features.
-
const DataBlock *inputLayoutSet
V1 and V2 block. A block with a set of blocks describing input layouts.
-
const DataBlock *renderStateSet
V1 and V2 block. A block with a set of blocks describing render states. The driver will ignore render states that are incompatible with the system.
-
const DataBlock *outputFormatSet
V1 and V2 block. A block with a set of blocks describing output format states. The driver will ignore output format states that are incompatible wit the system.
-
const DataBlock *graphicsPipelineSet
V1 block. A block with a set of blocks describing graphics pipelines. The driver will ignore pipelines using unsupported input layouts, render states or output formats.
-
const DataBlock *meshPipelineSet
V1 block. A block with a set of blocks describing mesh pipelines. The driver will ignore pipelines using unsupported render states or output formats.
-
const DataBlock *computePipelineSet
V1 block. A block with a set of blocks describing compute pipelines.
-
const DataBlock *signature
V2 block, this block stores shader class signatures, this ensures we try not to load incompatible shader class uses.
-
const DataBlock *computeSet
V2 block, new compute use set, uses shader class names and codes.
-
const DataBlock *graphicsSet
V2 block, new graphics use set, uses shader class names and codes.
-
const DataBlock *graphicsNullPixelOverrideSet
V2 block, new graphics use set, uses shader class names and codes. This set has pipelines where the paired pixel shader is replaced by the null pixel shader.
-
const DataBlock *graphicsPixelOverrideSet
V2 block, new graphics use set, uses shader class names and codes. This set has pipelines where the paired pixel shader uses a differen shader class name and codes than the vertex shader.
-
const char *defaultFormat
-
struct Drv3dMakeTextureParams
-
namespace d3d
Functions
-
int driver_command(Drv3dCommand command, void *par1 = nullptr, void *par2 = nullptr, void *par3 = nullptr)
send specific command to driver
-
int driver_command(Drv3dCommand command, void *par1 = nullptr, void *par2 = nullptr, void *par3 = nullptr)