Método ID3D12Device10::CreatePlacedResource2 (d3d12.h)
Cria um recurso que é colocado em um heap específico. Os recursos colocados são os objetos de recurso de peso mais leve disponíveis e são os mais rápidos para criar e destruir.
Seu aplicativo pode reutilização da memória de vídeo sobrepondo vários recursos colocados e reservados do Direct3D em regiões de heap. O modelo de reutilização de memória simples (descrito em Comentários) existe para esclarecer qual recurso sobreposto é válido a qualquer momento. Para maximizar o suporte à ferramenta de gráficos, não há suporte para a herança de dados do modelo simples; não há suporte para a invalidação de blocos e sub-recursos refinados. Ocorre apenas a invalidação completa do recurso sobreposto.
Requer o SDK de Agilidade do DirectX 12 1.7 ou posterior.
Sintaxe
HRESULT CreatePlacedResource2(
ID3D12Heap *pHeap,
UINT64 HeapOffset,
const D3D12_RESOURCE_DESC1 *pDesc,
D3D12_BARRIER_LAYOUT InitialLayout,
const D3D12_CLEAR_VALUE *pOptimizedClearValue,
UINT32 NumCastableFormats,
const DXGI_FORMAT *pCastableFormats,
REFIID riid,
void **ppvResource
);
Parâmetros
pHeap
Tipo: [in] ID3D12Heap*
Um ponteiro para a interface ID3D12Heap do
HeapOffset
O deslocamento, em bytes, para o recurso. O heapOffset
pDesc
Tipo: [in] const D3D12_RESOURCE_DESC*
Um ponteiro para uma estrutura de D3D12_RESOURCE_DESC que descreve o recurso.
InitialLayout
O layout inicial do recurso de textura; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED para buffers.
pOptimizedClearValue
Tipo: [in, opcional] const D3D12_CLEAR_VALUE*
Especifica um D3D12_CLEAR_VALUE que descreve o valor padrão para uma cor clara.
pOptimizedClearValue especifica um valor para o qual as operações claras são mais ideais. Quando o recurso criado é uma textura com os sinalizadores 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 clara será mais comumente chamada.
Operações claras podem ser chamadas com outros valores, mas essas operações não serão tão eficientes quanto quando o valor corresponder ao passado para a criação de recursos.
pOptimizedClearValue deve ser NULL quando usado com D3D12_RESOURCE_DIMENSION_BUFFER.
NumCastableFormats
O número de elementos em pCastableFormats.
pCastableFormats
Uma matriz contígua de estruturas de DXGI_FORMAT às quais esse recurso pode ser convertido.
riid
Tipo: REFIID
O identificador global exclusivo (GUID) para a interface de recurso. Esse é um parâmetro de entrada.
OREFIID __uuidof(ID3D12Resource)
obtém o guid da interface para um recurso. Embora riid seja, mais comumente, o GUID para ID3D12Resource, pode ser qualquer GUID para qualquer interface. Se o objeto de recurso não der suporte à interface para este guid, a criação falhará com E_NOINTERFACE.
ppvResource
Tipo: [out, opcional] nulo**
Um ponteiro para um bloco de memória que recebe um ponteiro para o recurso. ppvResource pode ser NULL, para habilitar o teste de capacidade. Quando ppvResource for NULL, nenhum objeto será criado e S_FALSE será retornado quando pResourceDesc e outros parâmetros forem válidos.
Valor de retorno
Esse método retornará E_OUTOFMEMORY se não houver memória suficiente para criar o recurso. Consulte códigos de retorno do Direct3D 12 para obter outros valores de retorno possíveis.
Observações
Consulte de Comentários para ID3D12Device::CreatePlacedResource.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino |
Windows |
cabeçalho | d3d12.h |
biblioteca | D3d12.lib |
de DLL |
D3d12.dll |
Consulte também
de heaps compartilhados