GpaGetSampleResult
Copyright (c) 2018-2024 Advanced Micro Devices, Inc. 保留所有权利。
语法
GpaStatus GpaGetSampleResult( GpaSessionId session_id, GpaUInt32 sample_id, size_t sample_result_size_in_bytes, void* counter_sample_results);描述
获取给定采样的结果数据。此函数会阻塞直到结果可用。使用 GpaIsSessionComplete 检查结果是否可用。对于离散计数器采样,数据将是一组连续的 64 位值,每个值对应于该采样收集的计数器。在返回结果后,您可以迭代缓冲区以读取各个计数器值。在所有命令列表(DirectX 12)或命令缓冲区(Vulkan)执行完毕后,结果才可用。来自辅助命令列表的采样结果将不可用,除非已调用 GpaCopySecondarySamples 将采样复制回主命令列表。
参数
| 名称 | 描述 |
|---|---|
| session_id | 先前创建的会话的唯一标识符。 |
| sample_id | 先前创建的采样的唯一标识符。 |
| sample_result_size_in_bytes | 指定采样结果的大小 - 此值应已通过 GpaGetSampleResultSize 查询。 |
| counter_sample_results | 将用于复制采样计数器数据的地址。 |
返回值
| 返回值 | 描述 |
|---|---|
| kGpaStatusOk | 成功检索了采样结果。 |
| kGpaStatusErrorGpaNotInitialized | GPA 未初始化。请在所有其他入口点之前调用 GpaInitialize。 |
| kGpaStatusErrorNullPointer | 提供的 session_id 参数为 NULL。 |
提供的 pCounterSampleResults 参数为 NULL。 | | kGpaStatusErrorSessionNotFound | 提供的 session_id 参数未被识别为先前创建的会话标识符。 | | kGpaStatusErrorSampleNotFound | 在指定的会话中未找到指定的采样。 | | kGpaStatusErrorSessionNotEnded | 会话尚未结束。在检索结果之前,必须已使用 GpaEndSession 结束会话。 | | kGpaStatusErrorReadingSampleRequest | 无法读取采样结果。 | | kGpaStatusErrorSampleInSecondaryCommandList | 尝试从辅助命令列表读取结果。来自辅助命令列表的采样必须使用 GpaCopySecondarySamples 复制到主命令列表。 | | kGpaStatusErrorIndexOutOfRange | 内部操作索引特定计数器失败。 | | kGpaStatusErrorException | 发生异常。 |