create_accelerator_view-Funktion
Erstellt ein accelerator_view-Objekt von einem Zeiger auf die Schnittstelle eines Direct3D-Geräts.
accelerator_view create_accelerator_view(
IUnknown *_D3D_device
queuing_mode _Qmode = queuing_mode_automatic
);
accelerator_view create_accelerator_view(
accelerator& _Accelerator,
bool _Disable_timeout
queuing_mode _Qmode = queuing_mode_automatic
);
Parameter
_Accelerator
Die Zugriffstaste, auf der das neue accelerator_view-Objekt erstellt werden soll._D3D_device
Der Zeiger auf die Schnittstelle eines Direct3D-Geräts._Disable_timeout
Ein boolescher Parameter, der angibt, ob das Timeout für das neu erstellte accelerator_view-Objekt deaktiviert werden sollte. Dies entspricht dem D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT-Flag für die Erstellung von Direct3D-Geräten und wird verwendet, um anzugeben, ob das Betriebssystem Arbeitslasten zulässt, deren Ausführung mehr als 2 Sekunden dauert, ohne das Gerät über den Windows-TDR-Mechanismus (Timeout Detection and Recovery) zurückzusetzen. Die Verwendung dieses Flags wird empfohlen, wenn Sie zeitintensive Aufgaben im accelerator_view-Objekt ausführen müssen._Qmode
Das queuing_mode-Objekt, das für das neu erstellte accelerator_view-Objekt verwendet werden soll. Dieser Parameter hat den Standardwert queuing_mode_automatic.
Rückgabewert
Das accelerator_view-Objekt, das über die übergebene Direct3D-Geräteschnittstelle erstellt wurde.
Hinweise
Diese Funktion erstellt ein neues accelerator_view-Objekt von einem vorhandenen Zeiger auf eine Direct3D-Geräteschnittstelle. Wenn der Funktionsaufruf folgt, wird der Verweiszähler des Parameters mit einem AddRef-Aufruf der Schnittstelle erhöht. Sie können das Objekt sicher freigeben, wenn es im DirectX-Code nicht mehr benötigt wird. Wenn der Methodenaufruf fehlschlägt, wird ein runtime_exception-Objekt ausgelöst.
Das accelerator_view-Objekt, das Sie mit dieser Funktion erstellen, ist threadsicher. Sie müssen die gleichzeitige Verwendung des accelerator_view-Objekts synchronisieren. Die unsynchronisierte gleichzeitige Verwendung des accelerator_view-Objekts und die unformatierte ID3D11Device-Schnittstelle verursachen ein nicht definiertes Verhalten.
Die C++-AMP-Laufzeit stellt detaillierte Fehlerinformationen im Debugmodus mithilfe der D3D-Debugebene bereit, wenn Sie das D3D11_CREATE_DEVICE_DEBUG-Flag verwenden.
Anforderungen
Header: amprt.h
Namespace: Concurrency::direct3d