Partilhar via


Oferecer e recuperar alterações

Para o Modelo de Driver de Exibição do Windows (WDDM) v2, os requisitos em torno de Oferta e Recuperação estão sendo relaxados. Os drivers de modo de usuário não são mais necessários para usar a oferta e recuperar em alocações internas. Aplicativos ociosos/suspensos se livrarão dos recursos internos do driver usando a API trimintroduzida no Microsoft DirectX 11.1.

A oferta e a recuperação continuarão com suporte no nível da API e o driver de modo de usuário será necessário para encaminhar solicitações de aplicativo para oferecer ou recuperar recursos para o kernel. Em WDDM v2, a alocação de oferta não tem mais suporte por meio da lista de alocação e, como resultado, o driver do modo de usuário precisa alterar a maneira como implementa a oferta e a recuperação.

Os recursos que estão sendo oferecidos por um aplicativo devem ser oferecidos imediatamente pelo driver de modo de usuário, chamando OfferCb, se os recursos não tiverem referência nos buffers de DMA (acesso direto à memória) que estão sendo criados em todos os contextos. Se os recursos tiverem referências pendentes no buffer DMA que está sendo criado, o driver de modo de usuário deverá adiar a chamada para OfferCb até que o buffer DMA dependente seja enviado por meio do RenderCb. O kernel de elementos gráficos cuidará de adiar a operação, de maneira não bloqueada, até que seja seguro oferecer o recurso e, como tal, o driver de modo de usuário não precisa se preocupar em ter que adiar a chamada para OfferCb até que a operação dependente seja concluída na GPU (unidade de processamento gráfico).

Chamar a recuperação será automaticamente paginada em uma alocação se ela estiver na lista de requisitos de residência (ou seja, o usuário ou driver solicitou que a alocação fosse residente por meio de uma chamada MakeResidentCb ). Para ReclaimAllocations2Cb, essa operação é assíncrona, e uma cerca de paginação é retornada e deve ser tratada da mesma maneira que as cercas retornadas de MakeResidentCb. A alocação é garantida como residente e utilizável na GPU quando a cerca é sinalizada.

Imediatamente após retornar de ReclaimAllocationsCb/ReclaimAllocations2Cb, o repositório de backup da alocação é garantido como válido e a alocação pode ser colocada sob acesso à CPU por meio do Lock2Cb. O motorista não precisa esperar na cerca de paginação para fazê-lo.