Condividi tramite


Offrire e recuperare le modifiche

Per Windows Display Driver Model (WDDM) v2, i requisiti relativi all'offerta e al recupero sono in fase di relax. I driver in modalità utente non sono più necessari per usare l'offerta e recuperare le allocazioni interne. Le applicazioni inattive/sospese elimineranno le risorse interne del driver usando l'API Trimintrodotta in Microsoft DirectX 11.1.

L'offerta e il recupero continueranno a essere supportati a livello di API e il driver in modalità utente è necessario per inoltrare le richieste dell'applicazione per offrire o recuperare risorse nel kernel. In WDDM v2, l'allocazione dell'offerta non è più supportata tramite l'elenco di allocazione e, di conseguenza, il driver in modalità utente deve modificare il modo in cui implementa l'offerta e il recupero.

Le risorse offerte da un'applicazione devono essere offerte immediatamente dal driver in modalità utente, chiamando OfferCb, se le risorse non hanno alcun riferimento nei buffer DMA (Direct Memory Access) attualmente compilati in tutti i contesti. Se le risorse hanno riferimenti in sospeso nel buffer DMA in fase di compilazione, il driver in modalità utente deve rinviare la chiamata a OfferCb fino a quando non viene inviato il buffer DMA dipendente tramite RenderCb. Il kernel grafico si occuperà di posticipare l'operazione, in modo non bloccante, fino a quando non è sicuro offrire la risorsa e, di conseguenza, il driver in modalità utente non deve preoccuparsi di dover rinviare la chiamata a OfferCb fino al completamento dell'operazione dipendente nell'unità di elaborazione grafica (GPU).

La chiamata al recupero verrà visualizzata automaticamente in un'allocazione se si trova nell'elenco dei requisiti di residenza (ad esempio, l'utente o il driver ha richiesto che l'allocazione sia residente tramite una chiamata MakeResidentCb ). Per ReclaimAllocations2Cb, questa operazione è asincrona e viene restituito un limite di paging e deve essere gestito allo stesso modo dei recinti restituiti da MakeResidentCb. L'allocazione è garantita che sia residente e utilizzabile sulla GPU quando viene segnalato il recinto.

Immediatamente dopo la restituzione da ReclaimAllocationsCb/ReclaimAllocations2Cb, l'archivio di backup dell'allocazione è garantito che sia valido e l'allocazione può essere inserita nell'accesso alla CPU tramite Lock2Cb. Il conducente non deve aspettare il recinto di paging per farlo.