Files
UnrealEngine/Engine/Binaries/ThirdParty/Vulkan/Linux/VkLayer_crash_diagnostic.json
2025-05-18 13:04:45 +08:00

357 lines
9.0 KiB
JSON

{
"file_format_version": "1.2.0",
"layer": {
"name": "VK_LAYER_LUNARG_crash_diagnostic",
"type": "GLOBAL",
"status": "BETA",
"library_path": "libVkLayer_crash_diagnostic.so",
"api_version": "1.4.304",
"implementation_version": "1",
"description": "Crash Diagnostic Layer is a crash/hang debugging tool that helps determines GPU progress in a Vulkan application.",
"platforms": [ "WINDOWS", "LINUX" , "ANDROID" ],
"url": "https://vulkan.lunarg.com/doc/sdk/latest/windows/crash_diagnostic_layer.html",
"enable_environment": {
"VK_CRASH_DIAGNOSTIC_ENABLE": "1"
},
"disable_environment": {
"VK_CRASH_DIAGNOSTIC_DISABLE": "1"
},
"instance_extensions": [
{
"name": "VK_EXT_debug_report",
"spec_version": "10"
},
{
"name": "VK_EXT_debug_utils",
"spec_version": "1"
},
{
"name": "VK_EXT_layer_settings",
"spec_version": "2"
}
],
"device_extensions": [
{
"name": "VK_EXT_debug_report",
"spec_version": "10",
"entrypoints": [
"vkCreateDebugReportCallbackEXT",
"vkDebugReportMessageEXT",
"vkDestroyDebugReportCallbackEXT"
]
},
{
"name": "VK_EXT_tooling_info",
"spec_version": "1",
"entrypoints": [
"vkGetPhysicalDeviceToolPropertiesEXT"
]
}
],
"features": {
"settings": [
{
"key": "watchdog_timeout_ms",
"env": "CDL_WATCHDOG_TIMEOUT_MS",
"label": "Watchdog timeout (ms)",
"description": "If set to a non-zero number, a watchdog thread will be created. This will trigger if the application fails to submit new commands within a set time (in milliseconds) and a log will be created as if the a lost device error was encountered.",
"type": "INT",
"default": 30000,
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
]
},
{
"key": "dump",
"label": "Dump files",
"description": "Control of dump files.",
"type": "GROUP",
"expanded": true,
"settings": [
{
"key": "output_path",
"env": "CDL_OUTPUT_PATH",
"label": "Output Path",
"description": "The directory where dump files and shader binaries are written.",
"type": "STRING",
"default": "",
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
]
},
{
"key": "dump_queue_submits",
"env": "CDL_DUMP_QUEUE_SUBMITS",
"label": "Dump queue submissions",
"description": "Control which queue submissions are included in the dump.",
"type": "ENUM",
"default": "running",
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
],
"flags": [
{
"key": "running",
"label": "Running",
"description": "Submissions that were executing at the time of the dump."
},
{
"key": "pending",
"label": "Pending",
"description": "Submissions executing or pending at the time of the dump."
}
]
},
{
"key": "dump_command_buffers",
"env": "CDL_DUMP_COMMAND_BUFFERS",
"label": "Dump command buffers",
"description": "Control which command buffers are included in the dump.",
"type": "ENUM",
"default": "running",
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
],
"flags": [
{
"key": "running",
"label": "Running",
"description": "Command Buffers that were executing at the time of the dump."
},
{
"key": "pending",
"label": "Pending",
"description": "Command Buffers executing or pending at the time of the dump."
},
{
"key": "all",
"label": "All",
"description": "All known Command Buffers."
}
]
},
{
"key": "dump_commands",
"env": "CDL_DUMP_COMMANDS",
"label": "Dump commands",
"description": "Control which commands are included in the dump.",
"type": "ENUM",
"default": "running",
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
],
"flags": [
{
"key": "running",
"label": "Running",
"description": "Command Buffers that were executing at the time of the dump."
},
{
"key": "pending",
"label": "Pending",
"description": "Commands executing or pending at the time of the dump."
},
{
"key": "all",
"label": "All",
"description": "All known Commands."
}
]
},
{
"key": "dump_shaders",
"env": "CDL_DUMP_SHADERS",
"label": "Dump shaders",
"description": "Control of shader dumping.",
"type": "ENUM",
"default": "off",
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
],
"flags": [
{
"key": "off",
"label": "Off",
"description": "Never dump shaders."
},
{
"key": "on_crash",
"label": "On Crash",
"description": "Dump currently bound shaders after a crash is detected."
},
{
"key": "on_bind",
"label": "On Bind",
"description": "Dump only bound shaders."
},
{
"key": "all",
"label": "All",
"description": "Dump all shaders."
}
]
}
]
},
{
"key": "logging",
"label": "Logging",
"description": "Control of logging.",
"type": "GROUP",
"expanded": true,
"settings": [
{
"key": "message_severity",
"label": "Message Severity",
"description": "Comma-delineated list of options specifying the types of log messages to be reported",
"type": "FLAGS",
"flags": [
{
"key": "error",
"label": "Error",
"description": "Report errors such as device lost or setup problems in the layer."
},
{
"key": "warn",
"label": "Warning",
"description": "Report non-fatal problems that may interfere with operation of the layer"
},
{
"key": "info",
"label": "Info",
"description": "Report informational messages."
},
{
"key": "verbose",
"label": "Verbose",
"description": "For layer development. Report messages for debugging layer behavior.",
"view": "ADVANCED"
}
],
"default": [
"error"
],
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
]
},
{
"key": "log_file",
"env": "CDL_LOG_FILE",
"label": "Log file name",
"description": "none = no logging, stderr or stdout = to the console, otherwise an absolute or relative path",
"type": "STRING",
"default": "stderr",
"platforms": [
"WINDOWS",
"LINUX",
"MACOS"
]
},
{
"key": "trace_on",
"env": "CDL_TRACE_ON",
"label": "Enable Tracing",
"description": "All Vulkan API calls intercepted by the layer will be logged to the console.",
"type": "BOOL",
"default": false,
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
]
},
{
"key": "trace_all_semaphores",
"env": "CDL_TRACE_ALL_SEMAPHORES",
"label": "Enable semaphore log tracing.",
"description": "Semaphore events will be logged to console.",
"type": "BOOL",
"default": false,
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
]
}
]
},
{
"key": "state",
"label": "State Tracking",
"description": "Control of state tracking.",
"type": "GROUP",
"expanded": false,
"settings": [
{
"key": "sync_after_commands",
"env": "CDL_SYNC_AFTER_COMMANDS",
"label": "Synchronize commands",
"description": "Add pipeline barriers after instrumented commands.",
"type": "BOOL",
"default": false,
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
]
},
{
"key": "instrument_all_commands",
"env": "CDL_INSTRUMENT_ALL_COMMANDS",
"label": "Instrument all commands",
"description": "All commands will be instrumented.",
"type": "BOOL",
"default": false,
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
]
},
{
"key": "track_semaphores",
"env": "CDL_TRACK_SEMAPHORES",
"label": "Track semaphores",
"description": "Enable semaphore tracking.",
"type": "BOOL",
"default": true,
"platforms": [
"WINDOWS",
"LINUX",
"MACOS",
"ANDROID"
]
}
]
}
]
}
}
}