PFND3DWDDM1_3DDI_TILEDRESOURCEBARRIER Rückruffunktion (d3d10umddi.h)
Gibt eine Einschränkung für die Datenzugriffsbestellung zwischen mehreren nebeneinander angeordneten Ressourcen an. Weitere Informationen zu dieser Einschränkung finden Sie in den Anmerkungen.
Syntax
PFND3DWDDM1_3DDI_TILEDRESOURCEBARRIER Pfnd3dwddm13DdiTiledresourcebarrier;
void Pfnd3dwddm13DdiTiledresourcebarrier(
D3D10DDI_HDEVICE hDevice,
D3D11DDI_HANDLETYPE TiledResourceAccessBeforeBarrierHandleType,
VOID *hTiledResourceAccessBeforeBarrier,
D3D11DDI_HANDLETYPE TiledResourceAccessAfterBarrierHandleType,
VOID *hTiledResourceAccessAfterBarrier
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
TiledResourceAccessBeforeBarrierHandleType
Ein Handle für die nebeneinander angeordnete Ressource.
hTiledResourceAccessBeforeBarrier
Ein Handle zu einer Ressource, die mit dem D3DWDDM1_3DDI_RESOURCE_MISC_TILED Flag erstellt wurde. Access-Vorgänge für dieses Objekt müssen abgeschlossen werden, bevor die Zugriffsvorgänge für das Objekt ausgeführt werden, das hTiledResourceAccessAfterBarrier angibt.
TiledResourceAccessAfterBarrierHandleType
Der D3D11DDI_HANDLETYPE Handletyp der Ressourcen, auf die hTiledResourceAccessBeforeBarrier und hTiledResourceAccessAfterBarrier Parameter verweist.
hTiledResourceAccessAfterBarrier
Ein Handle zu einer Ressource, die mit dem D3DWDDM1_3DDI_RESOURCE_MISC_TILED Flag erstellt wurde. Access-Vorgänge für dieses Objekt müssen nach den Zugriffsvorgängen für das Objekt beginnen, das hTiledResourceAccessBeforeBarrier angibt.
Rückgabewert
Nichts
Bemerkungen
Der Treiber kann die pfnSetErrorCb Rückruffunktion verwenden, um einen Fehlercode festzulegen.
Die Direct3D-Laufzeit führt eine minimale Überprüfung von Parametern durch.
Apps können nebeneinander angeordnete Ressourcen verwenden, um Kacheln in verschiedenen Ressourcen wiederzuverwenden. Ein Gerät und ein Treiber können jedoch möglicherweise nicht ermitteln, ob ein Speicher in einem Kachelpool, der gerade gerendert wurde, jetzt zum Lesen verwendet wird.
Die Direct3D-Laufzeit ruft TiledResourceBarrier auf, um den Treiber darüber zu informieren, dass vorgänge, die an die Ressource ausgegeben wurden, bevor der Aufruf abgeschlossen werden muss, bevor alle Zugriffe ausgeführt werden, die nach dem Aufruf mit einer anderen nebeneinander angeordneten Ressource auftreten, die denselben Speicher gemeinsam verwendet.
Entweder oder beide der hTiledResourceAccessBeforeBarrier und hTiledResourceAccessAfterBarrier Parameter (vor oder nach der Barriere) können NULL-sein. NULL- vor der Barriere bedeutet, dass alle nebeneinander angeordneten Ressourcenzugriffe abgeschlossen werden müssen, bevor die nach der Barriere angegebene Ressource von der GPU referenziert werden kann. NULL- nach der Barriere bedeutet, dass alle nach der Barriere zugänglichen nebeneinander angeordneten Ressourcen nur von der GPU ausgeführt werden können, nachdem der Zugriff auf die nebeneinander angeordneten Ressourcen erfolgt ist, bevor die Barriere abgeschlossen ist. Wenn beide NULL-sind, müssen alle vorherigen nebeneinander angeordneten Ressourcenzugriffe abgeschlossen sein, bevor der nachfolgende nebeneinander angeordnete Ressourcenzugriff fortgesetzt werden kann.
Wenn keine Aufrufe an TiledResourceBarriererfolgen, kann der Treiber davon ausgehen, dass der Zugriff auf verschiedene nebeneinander angeordnete Ressourcen nicht miteinander in Konflikt steht.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 8.1,WDDM 1.3 |
mindestens unterstützte Server- | Windows Server 2012 R2 |
Zielplattform- | Desktop |
Header- | d3d10umddi.h (include D3d10umddi.h) |