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)

另请参阅

pfnSetErrorCb