Pular para o conteúdo principal
Cria um recurso que é posicionado em um heap específico. Os recursos posicionados são os objetos de recurso mais leves disponíveis e os mais rápidos de criar e destruir. Seu aplicativo pode reutilizar a memória de vídeo sobrepondo vários recursos posicionados e reservados do Direct3D em regiões do heap. O modelo simples de reutilização de memória (descrito em Comentários) existe para esclarecer qual recurso sobreposto é válido a qualquer momento. Para maximizar o suporte das ferramentas gráficas, com o modelo simples não há suporte para herança de dados, nem para invalidação mais granular de blocos e sub-recursos. Ocorre apenas a invalidação completa de recursos sobrepostos. Requer o DirectX 12 Agility SDK 1.7 ou posterior.

Sintaxe

Parâmetros

pHeap
Tipo: ID3D12Heap *
Um ponteiro para a interface ID3D12Heap que representa o heap no qual o recurso é posicionado. HeapOffset
Tipo: UINT64
O deslocamento, em bytes, para o recurso. HeapOffset deve ser um múltiplo do alinhamento do recurso, e HeapOffset mais o tamanho do recurso deve ser menor ou igual ao tamanho do heap. GetResourceAllocationInfo deve ser usado para entender os tamanhos dos recursos de textura. pDesc
Tipo: const D3D12_RESOURCE_DESC1 *
Um ponteiro para uma estrutura D3D12_RESOURCE_DESC que descreve o recurso. InitialLayout
Tipo: D3D12_BARRIER_LAYOUT
O layout inicial do recurso de textura; D3D12_BARRIER_LAYOUT::D3D12_BARRIER_LAYOUT_UNDEFINED para buffers. pOptimizedClearValue
Tipo: const D3D12_CLEAR_VALUE *
Especifica um 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, seu aplicativo deve escolher o valor com o qual a operação de limpeza será chamada com mais frequência. As operações de limpeza podem ser chamadas 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. pOptimizedClearValue deve ser NULL quando usado com D3D12_RESOURCE_DIMENSION_BUFFER. NumCastableFormats
Tipo: UINT32
O número de elementos em pCastableFormats. pCastableFormats
Tipo: DXGI_FORMAT *
Uma matriz contígua de estruturas DXGI_FORMAT para as quais este recurso pode ser convertido. riid
Tipo: const IID &
O identificador global exclusivo (GUID) da interface de recurso. Este é um parâmetro de entrada. O REFIID, ou GUID, da interface para o recurso pode ser obtido usando a macro __uuidof. Por exemplo, __uuidof(ID3D12Resource) obtém o GUID da interface para um recurso. Embora riid seja, mais comumente, o GUID de ID3D12Resource, ele pode ser qualquer GUID de qualquer interface. Se o objeto de recurso não der suporte à interface desse GUID, a criação falhará com E_NOINTERFACE. ppvResource
Tipo: void **
Um ponteiro para um bloco de memória que recebe um ponteiro para o recurso. ppvResource pode ser NULL para permitir o teste de capacidade. Quando ppvResource é NULL, nenhum objeto será criado e S_FALSE será retornado quando pResourceDesc e os outros parâmetros forem válidos.

Valor retornado

Tipo: HRESULT Este método retorna E_OUTOFMEMORY se não houver memória suficiente para criar o recurso. Consulte Códigos de retorno do Direct3D 12 para outros valores retornados possíveis.

Comentários

Consulte Comentários em ID3D12Device::CreatePlacedResource.

Requisitos

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

Confira também

CreateCommittedResource CreateReservedResource ID3D12Device10 Heaps compartilhados
Última modificação em 6 de outubro de 2026