PFND3DWDDM1_3DDI_GETMIPPACKING回调函数 (d3d10umddi.h)
对于给定的平铺资源,返回已打包的 mips 数,以及存储所有已打包 mips 所需的磁贴数。
语法
PFND3DWDDM1_3DDI_GETMIPPACKING Pfnd3dwddm13DdiGetmippacking;
void Pfnd3dwddm13DdiGetmippacking(
D3D10DDI_HDEVICE hDevice,
D3D10DDI_HRESOURCE hTiledResource,
UINT *pNumPackedMips,
UINT *pNumTilesForPackedMips
)
{...}
参数
hDevice
显示设备的句柄 (图形上下文) 。
hTiledResource
平铺资源的句柄。
pNumPackedMips
指向一个变量的指针,该变量接收给定数组切片(包括不使用标准磁贴形状的任何 mips)的已打包的 mips 数。
如果没有打包,应返回值零。
pNumTilesForPackedMips
指向一个变量的指针,该变量接收给定数组切片的已打包的 mips 所放入的磁贴数。
如果 *pNumPackedMips 返回零,则忽略此参数。
返回值
无
备注
驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。 如果输入参数不存在或为 NULL,驱动程序可以设置E_INVALIDARG。
打包的 mips 包括多个小型 mips 共享磁贴 () ,以及给定设备无法使用标准磁贴形状的 mips 的情况。 可以将整个资源视为已打包。
如果要访问任何 mipmap,则应用程序不会被告知已打包的 mipmap 的磁贴形状或布局,并且必须仅映射所有已打包的磁贴,或者不映射任何已打包的磁贴。 否则,观察到访问的各个像素的映射是未定义且特定于独立硬件供应商 (IHV) 。
不允许将像素尺寸完全填充所有维度中至少一个标准形状磁贴的 Mipmap 视为打包 mips 集的一部分。 否则,运行时将删除无效驱动程序上的设备。
设备可以有效合并到打包磁贴 (表示 IHV 可以使用其自己的自定义磁贴细分) 的一个尺寸示例是,mip 至少是一个磁贴宽,但小于磁贴高。 但理想情况下,设备会针对这种情况使用标准磁贴细分 (以便应用程序可以) 以标准方式管理磁贴。 如果设备确实需要使用自定义平铺,则不会告知应用程序磁贴细分 (包装整体) 中涉及的磁贴数量,因此会失去一些自由度。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1,WDDM 1.3 |
最低受支持的服务器 | Windows Server 2012 R2 |
目标平台 | 桌面 |
标头 | d3d10umddi.h (包括 D3d10umddi.h) |