当前位置: 首页 > news >正文

window 显示驱动开发-Direct3D 呈现性能改进(四)

调用资源创建、映射和取消映射函数的行为更改

对于 WDDM 1.3 及更高版本驱动程序实现的这些函数,Direct3D 运行时为映射默认方案提供一组受限的输入值。 这些受限值仅适用于支持功能级别 11.1 及更高版本的驱动程序。

CreateResource (D3D11) 函数—

这些输入 D3D11DDIARG_CREATERESOURCE 结构成员受到限制:

调用资源创建、映射和取消映射函数的行为更改
对于 WDDM 1.3 及更高版本驱动程序实现的这些函数,Direct3D 运行时为映射默认方案提供一组受限的输入值。 这些受限值仅适用于支持功能级别 11.1 及更高版本的驱动程序。

CreateResource (D3D11) 函数—

这些输入 D3D11DDIARG_CREATERESOURCE 结构成员受到限制:

成员说明

ResourceDimension 和 使用情况

仅当 Direct3D 运行时为 ResourceDimension 提供类型D3D10DDIRESOURCE_BUFFER和类型D3D10_DDI_USAGE_DEFAULT以供使用这些行为更改才适用。

BindFlags

Direct3D 运行时仅设置 D3D10_DDI_BIND_SHADER_RESOURCE 和 D3D11_DDI_BIND_UNORDERED_ACCESS 值。

MapFlags

如果满足此处列出的所有其他成员要求,则运行时可以设置 D3D10_DDI_MAP_READ、 D3D10_DDI_MAP_WRITE和 D3D10_DDI_MAP_READWRITE 值。 驱动程序必须支持这些值。 D3D10_DDI_MAP_WRITE_DISCARDD3D10_DDI_MAP_WRITE_NOOVERWRITE的值无效。

MiscFlags

运行时仅设置 D3D11_DDI_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS 和 D3D11_DDI_RESOURCE_MISC_BUFFER_STRUCTURED 值。

格式

运行时仅设置 DXGI_FORMAT_UNKNOWN 值。

SampleDesc

运行时设置 DXGI_SAMPLE_DESC。将成员计数 为 1, 将质量 成员计数为零。

MipLevels

运行时将值设置为 1。

ArraySize

运行时将值设置为 1。

pPrimaryDesc

运行时将值设置为 NULL

 ResourceMap函数 —

ResourceMap 的以下输入参数受到限制:

参数说明

hResource

当在 CreateResource (D3D11 创建调用中设置 MapFlags 的非零值时,Direct3D 运行时仅设置D3D10DDIRESOURCE_BUFFER资源。

运行时仅设置 DXGI_FORMAT_UNKNOWN 值。

子资源

运行时仅将值设置为 0。

DDIMap

如果满足此处列出的所有其他成员要求,则运行时可以设置D3D10_DDI_MAP_READD3D10_DDI_MAP_WRITED3D10_DDI_MAP_READWRITE值,这与 CreateResource (D3D11) 创建调用中设置的 MapFlags 值相匹配。

标志

尽管运行时的输入值不受限制,但驱动程序必须能够支持 D3D10_DDI_MAP_FLAG_DONOTWAIT 值。

pMappedSubResource

尽管运行时的输入值不受限制,但驱动程序必须将有效的 CPU 可缓存指针分配给 D3D10DDI_MAPPED_SUBRESOURCE。pData 成员 和 必须设置 RowPitch 和 DepthPitch 以匹配缓冲区的大小和 pData 中提供的数据。

相关文章:

  • 11|省下钱买显卡,如何利用开源模型节约成本?
  • 分库分表深度解析
  • 基于RedisBloom的JWT黑名单管理方案
  • ISO 20000体系:需求管理与容量管理含义与解释
  • DeepSeek 驱动智能交通调度:从传统到智慧的跃迁之路
  • 前端绘图基础——SVG详解
  • 使用f5-tts训练自己的模型笔记
  • MySQL中简单的操作
  • 【分割字符串 / 贪心 + 字符串 + 暴力】
  • how to do unit test for golang within vscode
  • 软件工程重点复习(2)
  • 【C语言练习】062. 使用位运算优化算法
  • [学习]浅谈C++异常处理(代码示例)
  • C# 深入理解类(索引器)
  • leetcode560-和为k的子数组
  • 项目管理学习-CSPM4(2)
  • pycharm管理项目python环境
  • 在PyCharm中使用pyenv指定的Python:配置指南
  • 博图SCL星三角降压启动从安装到编程步骤详解
  • C++面向对象编程实战:继承与派生全解析
  • 湖州网站设计公司的别名是/下载一个百度时事新闻
  • 苏州建站之家/百度指数电脑端查询
  • 网站代运营服务/接广告推广
  • 那里有学做网站的/站长之家关键词挖掘
  • 动物自己做的网站/网站底部友情链接代码
  • 营销型网站制作服务商/传媒网站