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 的情况。 可以将整个资源视为打包。

应用程序不会被告知打包的 mip 的图块形状或布局,如果要访问任何 mipmap,则必须仅映射所有或没有打包的磁贴。 否则,访问的各个像素的观察到的映射是未定义的,并且特定于独立的硬件供应商(IHV)。

不允许将具有完全填充所有维度中至少一个标准形状磁贴的像素尺寸的 Mipmap 视为打包的 mips 集的一部分。 否则,运行时将删除无效驱动程序上的设备。
设备可以有效合并到打包磁贴(这意味着 IHV 可以使用他或她自己的自定义磁贴细分)的一个维度示例是一个 mip,它至少是一个磁贴宽,但小于磁贴高。 但理想情况下,设备会针对这种情况使用标准磁贴细分(因此应用程序可以采用标准方式管理磁贴)。 如果设备确实需要使用自定义平铺,则应用程序不会被告知磁贴细分是什么(只有包装整体涉及多少个磁贴),从而失去了一些自由。

要求

要求 价值
最低支持的客户端 Windows 8.1,WDDM 1.3
支持的最低服务器 Windows Server 2012 R2
目标平台 桌面
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

pfnSetErrorCb