Pular para o conteúdo principal
Cria um recurso (opcionalmente para uma sessão protegida) que é reservado e ainda não está mapeado para nenhuma página em um heap. Consulte também ID3D12Device::CreateReservedResource.
Somente blocos de heaps criados com a mesma sessão de recurso protegido podem ser mapeados em um recurso reservado protegido.

Sintaxe

Parâmetros

pDesc [in]
Tipo: const D3D12_RESOURCE_DESC *
Um ponteiro para uma estrutura D3D12_RESOURCE_DESC que descreve o recurso. InitialState [in]
Tipo: D3D12_RESOURCE_STATES
O estado inicial do recurso, como uma combinação OR bit a bit de constantes de enumeração D3D12_RESOURCE_STATES. pOptimizedClearValue [in, optional]
Tipo: const D3D12_CLEAR_VALUE *
Especifica uma estrutura D3D12_CLEAR_VALUE que descreve o valor padrão para uma cor de limpeza. pOptimizedClearValue especifica um valor para o qual as operações de limpeza são mais otimizadas. Quando o recurso criado é uma textura com o sinalizador D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET ou D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, você deve escolher o valor com o qual a operação de limpeza será chamada com mais frequência. Você pode chamar a operação de limpeza com outros valores, mas essas operações não serão tão eficientes quanto quando o valor corresponde ao passado na criação do recurso. Ao usar D3D12_RESOURCE_DIMENSION_BUFFER, você deve definir pOptimizedClearValue como nullptr. pProtectedSession [in, optional]
Tipo: ID3D12ProtectedResourceSession *
Um ponteiro opcional para um objeto que representa uma sessão de proteção de conteúdo. Se fornecida, essa sessão indica que o recurso deve ser protegido. Você pode obter uma ID3D12ProtectedResourceSession chamando ID3D12Device4::CreateProtectedResourceSession. riid [in]
Tipo: const IID &
Uma referência ao identificador global exclusivo (GUID) da interface de recurso a ser retornada em ppvResource. Consulte Comentários. Embora riidResource seja mais comumente o GUID de ID3D12Resource, ele pode ser o GUID de qualquer interface. Se o objeto de recurso não der suporte à interface desse GUID, a criação falhará com E_NOINTERFACE. ppvResource [out, optional]
Tipo: void **
Um ponteiro opcional para um bloco de memória que recebe o ponteiro de interface solicitado para o objeto de recurso criado. ppvResource pode ser nullptr para permitir o teste de capacidade. Quando ppvResource é nullptr, nenhum objeto é criado e S_FALSE é retornado quando pDesc é válido.

Valor retornado

Tipo: HRESULT Se a função for bem-sucedida, ela retornará S_OK. Caso contrário, retornará um código de erro HRESULT. Consulte Códigos de retorno do Direct3D 12 para outros valores retornados possíveis.

Comentários

CreateReservedResource é equivalente a D3D11_RESOURCE_MISC_TILED no Direct3D 11. Ele cria um recurso apenas com memória virtual, sem armazenamento de apoio. Você precisa mapear o recurso para a memória física (ou seja, para um heap) usando CopyTileMappings e UpdateTileMappings. Esses tipos de recurso só podem ser criados quando o adaptador dá suporte à camada de recursos em blocos 1 ou superior. A camada de recursos em blocos define o comportamento de acesso a um recurso que não está mapeado para um heap.

Requisitos

Cabeçalho: d3d12_xs.h
Biblioteca: d3d12_xs.lib
Plataformas com suporte: consoles XBOX Series

Confira também

CreateCommittedResource1 CreatePlacedResource ID3D12Device4
Última modificação em 6 de outubro de 2026