首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
大数据
›
数据仓库与分析
›
Windows 图形体现驱动开辟-WDDM 2.7功能-MCDM KM 驱动步 ...
返回列表
发新帖
Windows 图形体现驱动开辟-WDDM 2.7功能-MCDM KM 驱动步调实现指南(四)
[复制链接]
发表于 2025-10-5 20:54:17
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
查询适配器信息要求
如前所述,仅盘算驱动步调必须支持 DxgkDdiQueryAdapterInfo。
必须支持以下 DXGK_QUERYAD
APT
ERINFOTYPE 范例:
DXGKQAITYPE_DRIVERCAPS
DXGKQAITYPE_NUMPOWERCOMPONENTS
DXGKQAITYPE_HISTORYBUFFERPRECISION
DXGKQAITYPE_QUERYSEGMENT4
利用内存段形貌 GPU 地点空间
视频内存管理器 (VidMm) 负责管理 GPU 的地点空间。 在此之前,内核模式体现微型端口驱动步调 (KMD) 必须通过利用内存段将 GPU 的地点空间形貌为 VidMm。
KMD 创建内存段以概括和假造化视频内存资源。 它可以根据硬件支持的
存储
器范例(比方,帧缓冲区内存或体系内存调治)设置内存段。
在驱动步调初始化期间,KMD 必须返回形貌 VidMm 怎样管理内存资源的段范例列表。 KMD 指定了它支持的段范例的数目,并通过相应对其 DxgkDdiQueryAdapterInfo 函数的调用来形貌每种段范例。 驱动步调利用 DXGK_SEGMENTDESCRIPTOR 布局形貌每个段。 有关详细信息,请参阅初始化内存段的利用。
以后,段的数目和范例保持稳固。 VidMm:
确保每个进程在任何特定段中都能得到公平的资源份额,
独立管理全部段。
段不重叠。 因此,VidMm 可以从一个段分配相称数目的视频内存资源,而不管应用步调从另一个段持有多少资源。
KMD 为每个内存段分配一个段标识符。 稍后,当 VidMm 哀求为视频资源创建分配并出现这些资源时,KMD:
标识支持哀求的段。
按序次指定驱动步调盼望 VidMm 利用的段。
KMD 不须要在其内存段中指定 GPU 可用的全部视频内存资源。 但是,KMD 必须指定 VidMm 在体系上运行的全部进程中管理的全部内存资源。 比方:
实现固定函数管道的极点着色器微
代码
可以驻留在 GPU 地点空间中,但在 VidMm 管理的内存之外(即不是段的一部门)。 此设置是大概的,由于微
代码
始终可用于全部进程,而且永世不会成为进程之间争用的泉源。
对于极点缓冲区、纹理、出现目的和应用步调特定的着色器
代码
等资源,VidMm 必须从驱动步调的内存段之一分配视频内存资源。 这一要求是由于资源范例必须对全部进程公平可用。
下图体现了 KMD 怎样从 GPU 地点空间设置内存段的示例。
图中的数字对应于以下内存段:
CPU 可访问的线性段:此段可由 CPU 访问,并构造为线性地点空间。
非 CPU 可访问的线性段:该段被构造为线性地点空间,但 CPU 无法访问。 它用于不须要 CPU 访问的资源。
只读 AGP 光圈段:此段用于对 AGP(加速图形端口)内存举行只读访问。
光圈段:此段用于通过 AGP 光圈访问的资源。
埋伏框体现 KMD 不向
VidMm
公开的内存段。 埋伏在
VidMm
中的视频内存不能映射到用户空间,也不能被任何特定进程独占。 如许做违背了假造内存的根本规则,即要求体系上运行的全部进程都可以访问全部内存。
支持以下DXGK_QUERYAD
APT
ERINFOTYPE范例是可选的:
DXGK_AD
APT
ER_PERFDATA
DXGK_ADAPTER_PERFDATACAPS
DXGKQAITYPE_UMDRIVERPRIVATE
DXGKQAITYPE_PHYSICALADAPTERCAPS
DXGK_NODE_PERFDATA
DXGK_GPUVERSION
假如陈诉了一个或多个无效内存块,则必须支持以下DXGK_QUERYADAPTERINFOTYPE:
DXGKQAITYPE_SEGMENTMEMORYSTATE
假如支持 GPUVA,则必须支持以下DXGK_QUERYADAPTERINFOTYPE:
DXGKQAITYPE_GPUMMUCAPS
DXGKQAITYPE_PAGETABLELEVELDESC
假如陈诉的电源组件数大于零,则必须支持以下DXGK_QUERYADAPTERINFOTYPE:
DXGKQAITYPE_POWERCOMPONENTINFO
假如设置了 IoMmuSecureModeSupported 上限,则必须支持以下DXGK_QUERYADAPTERINFOTYPE:
DXGKQAITYPE_FRAMEBUFFERSAVESIZE
DXGKQAITYPE_HARDWARERESERV
EDR
ANGES
不得支持以下DXGK_QUERYADAPTERINFOTYPE:
DXGKQAITYPE_DEVICE_TYPE_CAPS
DXGKQAITYPE_DISPLAY_DRIVERCAPS_EXTENSION
DXGKQAITYPE_DISPLAYID_DESCRIPTOR
DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR
DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR2
DXGKQAITYPE_POWERCOMPONENTPSTATEINFO
DXGKQAITYPE_PREFERREDGPUNODE
DXGKQAITYPE_QUERYCOLORIMETRYOVERRIDES
DXGKQAITYPE_QUERYSEGMENT
DXGKQAITYPE_QUERYSEGMENT2
DXGKQAITYPE_QUERYSEGMENT3
DXGKQAITYPE_UEFIFRAMEBUFFERRANGES
回复
使用道具
举报
返回列表
浏览过的版块
SAAS
Oracle
分布式数据库
linux
IOS
前端开发
云原生
知者何南
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表