Поделиться через


функция обратного вызова PFND3DWDDM1_3DDI_GETMIPPACKING (d3d10umddi.h)

Для заданного ресурса с плитками возвращает количество мипсов и сколько плиток необходимо для хранения всех упакованных mips.

Синтаксис

PFND3DWDDM1_3DDI_GETMIPPACKING Pfnd3dwddm13DdiGetmippacking;

void Pfnd3dwddm13DdiGetmippacking(
  D3D10DDI_HDEVICE hDevice,
  D3D10DDI_HRESOURCE hTiledResource,
  UINT *pNumPackedMips,
  UINT *pNumTilesForPackedMips
)
{...}

Параметры

hDevice

Дескриптор устройства отображения (графический контекст).

hTiledResource

Дескриптор ресурса плитки.

pNumPackedMips

Указатель на переменную, получающую количество мипсов, упакованных для заданного среза массива, включая любые мипсы, которые не используют стандартные фигуры плиток.

Если упаковка отсутствует, возвращается значение нуля.

pNumTilesForPackedMips

Указатель на переменную, которая получает количество плиток, в которые помещаются упакованные мипсы для заданного среза массива.

Этот параметр игнорируется, если *pNumPackedMips возвращает ноль.

Возвращаемое значение

Никакой

Замечания

Драйвер может использовать функцию обратного вызова pfnSetErrorCb для задания кода ошибки. Драйвер может задать E_INVALIDARG, если входной параметр не существует или null.

Упакованные mips включают случаи, когда несколько небольших фрагментов общей плитки, а также mips, для которых данное устройство не может использовать стандартные фигуры плиток. Для всего ресурса можно считать упакованным.

Приложения не сообщают фигуры плитки или макет для упакованных mips и должны просто сопоставить все или ни один из упакованных плиток, если доступ к каким-либо из MIP-карт не требуется. В противном случае наблюдаемое сопоставление отдельных пикселей не определено и относится к независимому поставщику оборудования (IHV).

Mipmaps с измерениями пикселей, которые полностью заполняют по крайней мере одну стандартную плитку в всех измерениях, не могут считаться частью набора упакованных mips. В противном случае среда выполнения удаляет устройство на недопустимом драйвере.
Один из примеров измерений, которые устройство может действительно скучать в упакованные плитки (то есть IHV может использовать его или ее собственную настраиваемую разбивку плиток) является mip, который по крайней мере один плитки широкий, но меньше плитки высокой. В идеале устройство будет использовать стандартную разбивку плиток для этого случая (поэтому приложение может управлять плитками стандартным способом). Если устройство требует использования пользовательской накладки, приложение не сообщает, что такое разбивка плиток (только сколько плиток участвует в упаковке в целом), и таким образом теряет некоторую свободу.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8.1,WDDM 1.3
минимальный поддерживаемый сервер Windows Server 2012 R2
целевая платформа Настольный
заголовка d3d10umddi.h (include D3d10umddi.h)

См. также

pfnSetErrorCb