DXGKARG_GETVIRTUALGPUPROFILE 结构 (dispmprt.h)

用于获取虚拟 GPU 配置文件的参数。

语法

typedef struct _DXGKARG_GETVIRTUALGPUPROFILE {
  ULONG                        PartitionCount;
  ULONG                        VirtualizationFlags;
  DXGK_VGPU_PROFILE_CAPABILITY ProfileCapability[DXGK_VGPU_CAPABILITY_MAX];
} DXGKARG_GETVIRTUALGPUPROFILE, *PDXGKARG_GETVIRTUALGPUPROFILE;

成员

PartitionCount

可用于此详细配置的分区总数。

VirtualizationFlags

标志定义可分区 GPU 的物理硬件虚拟化的方式。 可能的值为:

  • DXGK_VIRTUALIZED_UNIQUE_RID - 设置标志意味着 GPU 分区在 PCI-E 构造上具有唯一的请求方 ID
  • DXGK_VIRTUALIZED_ACS_CAPABLE - 此标志指出 ACS (访问控制服务) 受设备支持,应用于提供设备安全性。 ACS 通常是必需的,因为如果没有 ACS,设备可以对绕过 IOMMU 的其他设备执行对等访问。 根复杂中的设备或不支持任何形式的对等访问的设备不需要 ACS。

在服务器 SKU 上,默认安全策略要求驱动程序设置这两个标志。

若要禁用安全策略,请设置以下注册表项:

DWORD HKLM\SOFTWARE\Policies\Microsoft\Windows\HyperV\RequireSecureDeviceAssignment = 0 DWORD HKLM\SOFTWARE\Policies\Microsoft\Windows\HyperV\RequireSupportedDeviceAssignment = 0

ProfileCapability[DXGK_VGPU_CAPABILITY_MAX]

每个分区的配置文件功能,由内核模式驱动程序指定。 这些功能包括内存、编码、解码和计算。 对于每个功能,驱动程序会提供以下信息:

  • TotalValue - 此分区配置中的总量。
  • AvailableValue - 此分区配置中的当前可用量。 此值随着 vGPU 启动和停止运行而更改。
  • MinPartitionValue - 此分区配置中每个分区的最小值。
  • MaxPartitionValue - 此分区配置中每个分区的最大值。
  • OptimalPartitionValue - 此分区配置中每个分区的最佳值。

功能值的含义取决于功能类型。 对于内存,它是字节数。 对于计算,它是 16fp 指令的千兆点数。 对于视频编码/解码,它大致采用 540p 功能的块。 1 为 540p60、2 为 720p60、4 为 1080p60、4Kp60 为 16 等。

要求

要求
Header dispmprt.h