Freigeben über


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

Siehe auch

Referenz

Concurrency::direct3d-Namespace