PFND3DWDDM1_3DDI_GETMIPPACKING Rückruffunktion (d3d10umddi.h)
Gibt für eine bestimmte gekachelte Ressource zurück, wie viele Mips gepackt sind und wie viele Kacheln zum Speichern aller gepackten Mips benötigt werden.
Syntax
PFND3DWDDM1_3DDI_GETMIPPACKING Pfnd3dwddm13DdiGetmippacking;
void Pfnd3dwddm13DdiGetmippacking(
D3D10DDI_HDEVICE hDevice,
D3D10DDI_HRESOURCE hTiledResource,
UINT *pNumPackedMips,
UINT *pNumTilesForPackedMips
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
hTiledResource
Ein Handle für die gekachelte Ressource.
pNumPackedMips
Ein Zeiger auf eine Variable, die die Anzahl der mips empfängt, die für ein bestimmtes Array-Slice gepackt werden, einschließlich aller mips, die nicht die Standardkachel-Shapes verwenden.
Wenn keine Verpackung vorhanden ist, sollte ein Wert von 0 zurückgegeben werden.
pNumTilesForPackedMips
Ein Zeiger auf eine Variable, die die Anzahl der Kacheln empfängt, in die die gepackten mips für ein bestimmtes Array-Slice passen.
Dieser Parameter wird ignoriert, wenn *pNumPackedMips null zurückgibt.
Rückgabewert
Keine
Bemerkungen
Der Treiber kann die Rückruffunktion pfnSetErrorCb verwenden, um einen Fehlercode festzulegen. Der Treiber kann E_INVALIDARG festlegen, wenn ein Eingabeparameter nicht vorhanden ist oder NULL ist.
Zu den gepackten Mips gehören Fälle, in denen mehrere kleine Mips Kacheln gemeinsam haben, und mips, für die ein bestimmtes Gerät keine Standardkachelformen verwenden kann. Es ist möglich, dass eine ganze Ressource als gepackt betrachtet wird.
Anwendungen werden die Kachelformen oder das Layout für gepackte Mips nicht mitgeteilt und müssen einfach alle oder keine der gepackten Kacheln zuordnen, wenn auf eine der Mipmaps zugegriffen werden soll. Andernfalls ist die beobachtete Zuordnung einzelner Pixel, auf die zugegriffen wird, nicht definiert und spezifisch für den unabhängigen Hardwareanbieter (Independent Hardware Vendor, IHV).
Mipmaps mit Pixeldimensionen, die mindestens eine standardförmige Kachel in allen Dimensionen vollständig ausfüllen, dürfen nicht als Teil der Gruppe der gepackten Mips betrachtet werden. Andernfalls entfernt die Runtime das Gerät auf einem ungültigen Treiber.
Ein Beispiel für Dimensionen, die ein Gerät in die gepackten Kacheln überschneiden kann (was bedeutet, dass der IHV seine eigene benutzerdefinierte Kachelaufschlüsselung verwenden kann) ist ein MIP, der mindestens eine Kachel breit, aber kleiner als eine Kachel hoch ist. Im Idealfall verwendet ein Gerät jedoch die Standardkachelaufschlüsselung für diesen Fall (sodass die Anwendung die Kacheln standardmäßig verwalten kann). Wenn ein Gerät eine benutzerdefinierte Kachel verwenden muss, wird der Anwendung nicht mitgeteilt, was die Kachelaufschlüsselung ist (nur, wie viele Kacheln an der Verpackung insgesamt beteiligt sind), und verliert somit einige Freiheiten.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8.1,WDDM 1.3 |
Unterstützte Mindestversion (Server) | Windows Server 2012 R2 |
Zielplattform | Desktop |
Kopfzeile | d3d10umddi.h (einschließlich D3d10umddi.h) |