Dela via


Direct3D-körningfunktioner anropas av User-Mode grafikdrivrutiner

Det här avsnittet visar de funktioner som Microsoft Direct3D-körningen tillhandahåller till visningsdrivrutinen i användarläge. Dessa inkluderar Direct3D-runtime kernel-services som har åtkomst till funktioner och Direct3D-körningsfunktionerna version 10 och 11. Dessa funktioner är en del av Direct3D-visningsdrivrutinens gränssnitt i användarläge som operativsystemet implementerar via Direct3D-runtime.

Direct3D Runtime-Kernel-Services åtkomstfunktioner

Körningen av Microsoft Direct3D version 9 ger pekare till adapterspecifika återanropsfunktioner via medlemmar i D3DDDI_ADAPTERCALLBACKS struktur i ett anrop till användarlägesvisningsdrivrutinens OpenAdapter-funktion. The runtime supplies pointers to display device-specific callback functions through members of the D3DDDI_DEVICECALLBACKS structure in a call to the user-mode display driver's CreateDevice function.

Microsoft Direct3D version 10 eller senare ger pekare till adapterspecifika återanropsfunktioner via medlemmar i D3DDDI_ADAPTERCALLBACKS struktur i ett anrop till användarlägesvisningsdrivrutinens OpenAdapter10- eller OpenAdapter10_2-funktion. The runtime supplies pointers to display device-specific callback functions through members of the D3DDDI_DEVICECALLBACKS structure in a call to the user-mode display driver's CreateDevice(D3D10) function.

Direct3D-parameterstrukturer

Följande strukturer används av Direct3D-runtime kernel-services som har åtkomst till funktioner. Visningsdrivrutinen i användarläge skickar pekare till dessa strukturer i parametrarna för körningsfunktionerna.

  • D3DDDI_UPDATEALLOCPROPERTY
  • D3DDDICB_ALLOCATE
  • D3DDDICB_CREATECONTEXT
  • D3DDDICB_CREATECONTEXTVIRTUAL
  • D3DDDICB_CREATEHWCONTEXT
  • D3DDDICB_CREATEHWQUEUE
  • D3DDDICB_CREATEOVERLAY
  • D3DDDICB_CREATEPAGINGQUEUE
  • D3DDDICB_CREATESYNCHRONIZATIONOBJECT2
  • D3DDDICB_CREATESYNCHRONIZATIONOBJECT
  • D3DDDICB_DESTROYHWCONTEXT
  • D3DDDICB_DESTROYHWQUEUE
  • D3DDDICB_DEALLOCATE
  • D3DDDICB_DEALLOCATE2
  • D3DDDICB_DESTROYCONTEXT
  • D3DDDICB_DESTROYOVERLAY
  • D3DDDICB_DESTROYSYNCHRONIZATIONOBJECT
  • D3DDDICB_ESCAPE
  • D3DDDICB_EVICT
  • D3DDDICB_FLIPOVERLAY
  • D3DDDICB_GETMULTISAMPLEMETHODLIST
  • D3DDDICB_LOCK
  • D3DDDICB_LOCK2FLAGS
  • D3DDDICB_OFFERALLOCATIONS
  • D3DDDICB_PRESENT
  • D3DDDICB_QUERYADAPTERINFO
  • D3DDDICB_QUERYRESIDENCY
  • D3DDDICB_RECLAIMALLOCATIONS
  • D3DDDICB_RECLAIMALLOCATIONS2
  • D3DDDICB_RENDER
  • D3DDDICB_SETDISPLAYMODE
  • D3DDDICB_SETDISPLAYPRIVATEDRIVERFORMAT
  • D3DDDICB_SETPRIORITY
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT2
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMCPU
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMGPU
  • D3DDDICB_SIGNALSYNCHRONIZATIONOBJECTFROMGPU2
  • D3DDDICB_SUBMITCOMMAND
  • D3DDDICB_SUBMITCOMMANDFLAGS
  • D3DDDICB_SUBMITCOMMANDTOHWQUEUE
  • D3DDDICB_SUBMITSIGNALSYNCOBJECTSTOHWQUEUE
  • D3DDDICB_SUBMITWAITFORSYNCOBJECTSTOHWQUEUE
  • D3DDDICB_UNLOCK
  • D3DDDICB_UNLOCK2
  • D3DDDICB_UPDATEGPUVIRTUALADDRESS
  • D3DDDICB_UPDATEOVERLAY
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT2
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECTFROMCPU
  • D3DDDICB_WAITFORSYNCHRONIZATIONOBJECTFROMGPU

Direct3D Runtime Version 10 och senare Core Callback Functions

I det här avsnittet beskrivs centrala återanropsfunktioner som Microsoft Direct3D 10 och senare runtime-miljöer tillhandahåller till visningsdrivrutinen i användarläge. The runtime supplies pointers to core callback functions through members of the D3D10DDI_CORELAYER_DEVICECALLBACKS structure in a call to the user-mode display driver's CreateDevice(D3D10) function.

Direct3D Runtime Version 10 Styr återanropsfunktioner

Följande är en lista över kontrollåteranropsfunktioner som Microsoft Direct3D 10 och senare körningar tillhandahåller till användarlägesvisningsdrivrutinen via strukturen D3D10DDI_CORELAYER_DEVICECALLBACKS.

Direct3D Runtime Version 10 State-Refresh Återanropsfunktioner

Följande är en lista över de återanropsfunktioner för uppdatering av tillstånd som Microsoft Direct3D 10 runtime levererar till användarlägesvisningsdrivrutinen via D3D10DDI_CORELAYER_DEVICECALLBACKS-strukturen.

Eftersom Direct3D 10-körningen cachelagrar de för närvarande bundna tillståndsobjekten för program cachelagrar körningen även för närvarande bundna tillståndsobjekt för visningsdrivrutiner i användarläge med låg belastning. För varje anrop som visningsdrivrutinen i användarläge gör till en tillståndsuppdateringsåteranropsfunktion gör Direct3D 10-körningen ett motsvarande anrop till en drivrutinstillståndsfunktion i samma körningstråd innan den återgår till den anropande koden i drivrutinen. För att förbättra prestanda utför återanropsfunktionerna för state-refresh inte någon parameterverifiering.

Återanropsfunktioner för tillståndsuppdatering är användbara när du försöker utveckla en tillståndslös drivrutin eller skapa preambeldata för kommandobuffert. Tillståndsuppdateringens callback-funktioner gör det också möjligt för visningsdrivrutinen i användarläge att dra nytta av högvattenmärken som Direct3D 10-runtime underhåller. Höga vattenstämplar anger det största fackindexet, som kan vara icke-NULL; därför förbättrar högvattenstämplar bläddringen över sådana fack.

Direct3D Runtime version 10 Kernel-Services åtkomst till funktioner

I det här avsnittet listas kernel-tjänster som har åtkomst till funktioner som DXGI-komponenten i Microsoft Direct3D 10 runtime tillhandahåller användarläges visningsdrivrutinen. DXGI supplies pointers to kernel-services accessing functions through members of the DXGI_DDI_BASE_CALLBACKS structure in a call to the user-mode display driver's CreateDevice(D3D10) function.

Direct3D Runtime Version 11 Funktioner

I det här avsnittet beskrivs viktiga återanropsfunktioner som Microsoft Direct3D 11 och senare körtider tillhandahåller till visningsdrivrutinen i användarläge. The runtime supplies pointers to core callback functions through members of the D3D11DDI_CORELAYER_DEVICECALLBACKS structure in a call to the user-mode display driver's CreateDevice(D3D10) function.

Direct3D Runtime Version 11 styråterkallningsfunktioner

I det här avsnittet listas de ytterligare kontrollåteranropsfunktioner som Microsoft Direct3D 11 och senare körmiljöer tillhandahåller för användarlägesvisningsdrivrutinen.

Direct3D Runtime Version 11 State-Refresh Återanropsfunktioner

I det här avsnittet visas de ytterligare återanropsfunktioner för tillståndsuppdatering som Microsoft Direct3D version 11 och senare förser användarlägets visningsdrivrutin med.

Eftersom Direct3D 11-körningen cachelagrar de för närvarande bundna tillståndsobjekten för program cachelagrar körningen även för närvarande bundna tillståndsobjekt för visningsdrivrutiner i användarläge med låg belastning. För varje anrop som visningsdrivrutinen i användarläge gör till en tillståndsuppdateringsåteranropsfunktion, gör Direct3D 11-körningen ett motsvarande anrop till en drivrutinstillståndsfunktion i samma körningstråd innan den återgår till den anropande koden i drivrutinen. För att förbättra prestanda utför återanropsfunktionerna för state-refresh inte någon parameterverifiering.

Tillstånds-uppdateringsåterkallningsfunktioner är användbara när du försöker utveckla en tillståndslös drivrutin eller skapa förberedande data för kommandobuffertar. Tillståndsuppdateringens återanropsfunktioner gör det också möjligt för visningsdrivrutinen i användarläge att dra nytta av högvattenmärken som Direct3D 11-körmiljön underhåller. Höga vattenstämplar anger det största fackindexet, som kan vara icke-NULL; därför förbättrar högvattenstämplar bläddringen över sådana fack.

Direct3D Runtime version 12 och senare funktioner

Microsoft Direct3D 12 och senare körmiljöer tillhandahåller följande grundläggande återanropsfunktioner till användarlägesvisningsdrivrutinen.

See also

Stöd för DXGI DDI

Stöd för multiplan överlagring

Direct3D-funktioner implementerade av visningsdrivrutiner för användarläge

Prestandaförbättringar för Direct3D-återgivning