Método ID3D12Device10::CreatePlacedResource2 (d3d12.h)
Crea un recurso que se coloca en un montón específico. Los recursos colocados son los objetos de recursos de menor peso disponibles y son los más rápidos para crear y destruir.
La aplicación puede volver a usar la memoria de vídeo superponiendo varios recursos reservados y colocados en Direct3D en regiones del montón. El modelo de reutilización de memoria simple (descrito en Comentarios) existe para aclarar qué recurso superpuesto es válido en cualquier momento dado. Para maximizar la compatibilidad con la herramienta de gráficos, no se admite la herencia de datos del modelo simple; No se admite la invalidación de iconos y subrecursos más específicos. Solo se produce una invalidación de recursos superpuesta completa.
Requiere el SDK de agilidad de DirectX 12 1.7 o posterior.
Sintaxis
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*
Puntero a la interfaz ID3D12Heap que representa el montón en el que se coloca el recurso.
HeapOffset
Desplazamiento, en bytes, al recurso. El heapOffset de
pDesc
Tipo: [in] const D3D12_RESOURCE_DESC*
Puntero a una estructura D3D12_RESOURCE_DESC que describe el recurso.
InitialLayout
Diseño inicial del recurso de textura; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED para los búferes.
pOptimizedClearValue
Tipo: [in, opcional] const D3D12_CLEAR_VALUE*
Especifica un D3D12_CLEAR_VALUE que describe el valor predeterminado de un color claro.
pOptimizedClearValue especifica un valor para el que las operaciones claras son más óptimas. Cuando el recurso creado es una textura con las marcas D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET o D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL, la aplicación debe elegir el valor con el que se llamará con más frecuencia a la operación clear.
Se puede llamar a las operaciones clear con otros valores, pero esas operaciones no serán tan eficaces como cuando el valor coincide con el que se pasa a la creación de recursos.
pOptimizedClearValue debe ser NULL cuando se usa con D3D12_RESOURCE_DIMENSION_BUFFER.
NumCastableFormats
Número de elementos de pCastableFormats.
pCastableFormats
Matriz contigua de DXGI_FORMAT estructuras a las que se puede convertir este recurso.
riid
Tipo: REFIID
Identificador único global (GUID) para la interfaz de recursos. Se trata de un parámetro de entrada.
El REFIID , o GUID, de la interfaz al recurso se puede obtener mediante la macro __uuidof
. Por ejemplo, __uuidof(ID3D12Resource)
obtiene el guid de de la interfaz a un recurso. Aunque
ppvResource
Tipo: [out, opcional] void**
Puntero a un bloque de memoria que recibe un puntero al recurso. ppvResource puede ser NULL, para habilitar las pruebas de funcionalidad. Cuando ppvResource es NULL, no se creará ningún objeto y se devolverá S_FALSE cuando pResourceDesc y otros parámetros sean válidos.
Valor devuelto
Este método devuelve E_OUTOFMEMORY si no hay memoria suficiente para crear el recurso. Consulte códigos de retorno de Direct3D 12 para ver otros valores devueltos posibles.
Observaciones
Vea comentarios para ID3D12Device::CreatePlacedResource.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de |
Windows |
encabezado de |
d3d12.h |
biblioteca de |
D3d12.lib |
DLL de |
D3d12.dll |