Freigeben über


D3D11_FEATURE_DATA_D3D11_OPTIONS Struktur (d3d11.h)

Beschreibt Direct3D 11.1-Featureoptionen im aktuellen Grafiktreiber.

Hinweis

Diese Struktur wird von der Direct3D 11.1-Runtime unterstützt, die unter Windows 8 und höheren Betriebssystemen verfügbar ist.

Syntax

typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS {
  BOOL OutputMergerLogicOp;
  BOOL UAVOnlyRenderingForcedSampleCount;
  BOOL DiscardAPIsSeenByDriver;
  BOOL FlagsForUpdateAndCopySeenByDriver;
  BOOL ClearView;
  BOOL CopyWithOverlap;
  BOOL ConstantBufferPartialUpdate;
  BOOL ConstantBufferOffsetting;
  BOOL MapNoOverwriteOnDynamicConstantBuffer;
  BOOL MapNoOverwriteOnDynamicBufferSRV;
  BOOL MultisampleRTVWithForcedSampleCountOne;
  BOOL SAD4ShaderInstructions;
  BOOL ExtendedDoublesShaderInstructions;
  BOOL ExtendedResourceSharing;
} D3D11_FEATURE_DATA_D3D11_OPTIONS;

Member

OutputMergerLogicOp

Gibt an, ob Logikvorgänge im Mischzustand verfügbar sind. Die Runtime legt diesen Member auf TRUE fest, wenn Logikvorgänge im Mischzustand verfügbar sind, andernfalls FALSE . Dieses Element ist FALSE für die Featureebenen 9.1, 9.2 und 9.3. Dieser Member ist optional für Featureebenen 10, 10.1 und 11. Dieser Member ist TRUE für Featureebene 11.1.

UAVOnlyRenderingForcedSampleCount

Gibt an, ob der Treiber ohne Renderzielansichten (RTVs) oder Tiefenschablonenansichten (DSVs) und nur ungeordnete Zugriffsansichten (UAVs) gerendert werden kann. Die Runtime legt diesen Member auf TRUE fest, wenn der Treiber ohne RTVs oder DSVs und nur gebundene UAVs und andernfalls FALSE gerendert werden kann. Bei TRUE können Sie das ForcedSampleCount-Element von D3D11_RASTERIZER_DESC1 auf 1, 4 oder 8 festlegen, wenn Sie ohne RTVs oder DSV rendern und nur UAVs gebunden sind. Für Featureebene 11.1 ist dieser Member immer TRUE , und Sie können ForcedSampleCount zusätzlich zu 1, 4 oder 8 auf 16 festlegen. Der Standardwert von ForcedSampleCount ist 0, was bedeutet, dass der Wert auf 1 festgelegt ist. Sie können ForcedSampleCount immer auf 0 oder 1 für reines UAV-Rendering festlegen, unabhängig davon, wie dieser Member festgelegt wird.

DiscardAPIsSeenByDriver

Gibt an, ob der Treiber die Methoden ID3D11DeviceContext1::D iscardView und ID3D11DeviceContext1::D iscardResource unterstützt. Die Runtime legt diesen Member auf TRUE fest, wenn der Treiber diese Methoden unterstützt, andernfalls FALSE . Wie dieser Member festgelegt wird, gibt nicht an, ob der Treiber diese Methoden tatsächlich verwendet. Das heißt, der Treiber ignoriert diese Methoden möglicherweise, wenn sie für die Hardware nicht nützlich sind. Bei FALSE macht die Runtime diese Methoden nicht für den Treiber verfügbar, da sie vom Treiber nicht unterstützt werden. Sie können diesen Member während der Entwicklung überwachen, um Ältere Treiber auf Hardware auszuschließen, bei denen diese Methoden sonst von Vorteil gewesen wären. Sie müssen keine separaten Codepfade schreiben, je nachdem, ob dieser Member TRUE oder FALSE ist. Sie können diese Methoden jederzeit aufrufen.

FlagsForUpdateAndCopySeenByDriver

Gibt an, ob der Treiber neue Semantik für Das Kopieren und Aktualisieren unterstützt, die von den Methoden ID3D11DeviceContext1::CopySubresourceRegion1 und ID3D11DeviceContext1::UpdateSubresource1 verfügbar gemacht werden. Die Runtime legt diesen Member auf TRUE fest, wenn der Treiber neue Semantiken zum Kopieren und Aktualisieren unterstützt. Die Runtime legt diesen Member nur für Legacytreiber auf FALSE fest. Die Runtime behandelt dieses Element ähnlich wie das DiscardAPIsSeenByDriver-Element .

ClearView

Gibt an, ob der Treiber die ID3D11DeviceContext1::ClearView-Methode unterstützt. Die Runtime legt diesen Member auf TRUE fest, wenn der Treiber diese Methode unterstützt, andernfalls FALSE . Bei FALSE macht die Runtime diese Methode nicht für den Treiber verfügbar, da sie vom Treiber nicht unterstützt wird.

Hinweis Für Featureebenen 9.1, 9.2 und 9.3 ist dieser Member immer TRUE , da die Option von der Runtime emuliert wird.
 

CopyWithOverlap

Gibt an, ob Sie ID3D11DeviceContext1::CopySubresourceRegion1 mit überlappenden Quell- und Zielrechtecken aufrufen können. Die Runtime legt diesen Member auf TRUE fest, wenn Sie CopySubresourceRegion1 mit überlappenden Quell- und Zielrechtecken und FALSE aufrufen können. Bei FALSE macht die Runtime diese Methode nicht für den Treiber verfügbar, da sie vom Treiber nicht unterstützt wird.

Hinweis Für Featureebenen 9.1, 9.2 und 9.3 ist dieser Member immer TRUE , da Treiber die Option für diese Featureebenen bereits unterstützen.
 

ConstantBufferPartialUpdate

Gibt an, ob der Treiber partielle Updates von Konstantenpuffern unterstützt. Die Runtime legt diesen Member auf TRUE fest, wenn der Treiber partielle Updates von Konstantenpuffern unterstützt, andernfalls FALSE . Bei FALSE macht die Runtime diesen Vorgang nicht für den Treiber verfügbar, da der Treiber ihn nicht unterstützt.

Hinweis Für Featureebenen 9.1, 9.2 und 9.3 ist dieser Member immer TRUE , da die Option von der Runtime emuliert wird.
 

ConstantBufferOffsetting

Gibt an, ob der Treiber neue Semantik zum Festlegen von Offsets in konstanten Puffern für einen Shader unterstützt. Die Runtime legt diesen Member auf TRUE fest, wenn der Treiber das Angeben von Offsets unterstützt, wenn Sie neue Methoden wie die ID3D11DeviceContext1::VSSetConstantBuffers1-Methode und andernfalls FALSE aufrufen. Bei FALSE macht die Runtime diesen Vorgang nicht für den Treiber verfügbar, da der Treiber ihn nicht unterstützt.

Hinweis Für Featureebenen 9.1, 9.2 und 9.3 ist dieser Member immer TRUE , da die Option von der Runtime emuliert wird.
 

MapNoOverwriteOnDynamicConstantBuffer

Gibt an, ob Sie ID3D11DeviceContext::Map mit D3D11_MAP_WRITE_NO_OVERWRITE in einem dynamischen Konstantenpuffer aufrufen können (d. a. ob der Treiber diesen Vorgang unterstützt). Die Runtime legt diesen Member auf TRUE fest, wenn der Treiber diesen Vorgang unterstützt, andernfalls FALSE . Bei FALSE schlägt die Runtime diese Methode fehl, da der Treiber den Vorgang nicht unterstützt.

Hinweis Für Featureebenen 9.1, 9.2 und 9.3 ist dieser Member immer TRUE , da die Option von der Runtime emuliert wird.
 

MapNoOverwriteOnDynamicBufferSRV

Gibt an, ob Sie ID3D11DeviceContext::Map with D3D11_MAP_WRITE_NO_OVERWRITE on a dynamic buffer SRV aufrufen können (d. a. ob der Treiber diesen Vorgang unterstützt). Die Runtime legt diesen Member auf TRUE fest, wenn der Treiber diesen Vorgang unterstützt, andernfalls FALSE . Bei FALSE schlägt die Runtime diese Methode fehl, da der Treiber den Vorgang nicht unterstützt.

MultisampleRTVWithForcedSampleCountOne

Gibt an, ob der Treiber multisample Rendering unterstützt, wenn Sie mit RTVs gebunden rendern. Wenn TRUE, können Sie das ForcedSampleCount-Element von D3D11_RASTERIZER_DESC1 auf 1 mit einer Multisampel-RTV-Bindung festlegen. Der Treiber kann diese Option auf Featureebene 10 und höher unterstützen. Bei FALSE schlägt die Erstellung des Rasterisiererstatus fehl, weil der Treiber legacy ist oder die Featureebene zu niedrig ist.

SAD4ShaderInstructions

Gibt an, ob die Hardware und der Treiber die systeminterne Msad4-Funktion in Shadern unterstützen. Die Runtime legt diesen Member auf TRUE fest, wenn die Hardware und der Treiber in Shadern die intrinsischen msad4-Funktionen aufrufen. Bei FALSE ist der Treiber legacy, oder die Hardware unterstützt die Option nicht. Die Runtime schlägt bei der Shadererstellung für Shader fehl, die msad4 verwenden.

ExtendedDoublesShaderInstructions

Gibt an, ob die Hardware und der Treiber die intrinsische fma-Funktion und andere erweiterte Doubles-Anweisungen (DDIV und DRCP) in Shadern unterstützen. Die intrinsische fma-Funktion gibt eine erweiterte DOUBLES-DFMA-Anweisung aus. Die Runtime legt diesen Member auf TRUE fest, wenn die Hardware und der Treiber erweiterte Doubles-Anweisungen in Shadern (Shadermodell 5 und höher) unterstützen. Die Unterstützung dieser Option beinhaltet auch die Unterstützung grundlegender Shaderanweisungen mit doppelter Genauigkeit. Sie können den wert D3D11_FEATURE_DOUBLES verwenden, um die Unterstützung von Shadern mit doppelter Genauigkeit abzufragen. Bei FALSE wird die Option von der Hardware und dem Treiber nicht unterstützt. Die Runtime schlägt bei der Shadererstellung für Shader fehl, die erweiterte Doubles-Anweisungen verwenden.

ExtendedResourceSharing

Gibt an, ob Hardware und Treiber erweiterte Unterstützung für freigegebene Texture2D-Ressourcentypen und -formate haben. Die Runtime legt diesen Member auf TRUE fest, wenn die Hardware und der Treiber die erweiterte Textur2D-Ressourcenfreigabe unterstützen.

Hinweise

Wenn ein Microsoft Direct3D-Gerät die Featureebene 11.1 (D3D_FEATURE_LEVEL_11_1) unterstützt, gibt CheckFeatureSupport beim Aufrufen von ID3D11Device::CheckFeatureSupport mit D3D11_FEATURE_D3D11_OPTIONS einen Zeiger auf D3D11_FEATURE_DATA_D3D11_OPTIONS zurück, wobei alle Member auf TRUE mit Ausnahme der SAD4ShaderInstructions und ExtendedDoublesShaderInstructions festgelegt sind. Member, die optional von der Hardware und dem Treiber unterstützt werden und daher TRUE oder FALSE sein können.

Featureebene 11.1 bietet die folgenden zusätzlichen Features:

  • UAVs in jeder Shaderphase mit 64 UAV-Bindungsslots anstelle von 8.
  • Zielunabhängige Rasterung, mit der Sie den ForcedSampleCount-Member von D3D11_RASTERIZER_DESC1 auf 1, 4, 8 oder 16 festlegen und mit einem einzelnen Beispiel in RTVs rendern können.
  • Reines UAV-Rendering mit dem ForcedSampleCount-Member von D3D11_RASTERIZER_DESC1 auf bis zu 16 festgelegt (nur bis zu 8 für Featureebene 11).
Die Runtime legt die folgenden Gruppierungen von Mitgliedern immer identisch fest. Das heißt, alle Werte in einer Gruppierung sind TRUE oder FALSE zusammen:
  • DiscardAPIsSeenByDriver und FlagsForUpdateAndCopySeenByDriver
  • ClearView, CopyWithOverlap, ConstantBufferPartialUpdate, ConstantBufferOffsetting und MapNoOverwriteOnDynamicConstantBuffer
  • MapNoOverwriteOnDynamicBufferSRV und MultisampleRTVWithForcedSampleCountOne

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Kopfzeile d3d11.h

Weitere Informationen

Kernstrukturen

D3D11_FEATURE