Skip to main content
Crea un recurso que se coloca en un montón específico. Los recursos colocados son los objetos de recurso más ligeros disponibles y los más rápidos de crear y destruir. Su aplicación puede reutilizar la memoria de vídeo superponiendo varios recursos colocados y reservados de Direct3D en regiones del montón. El modelo simple de reutilización de memoria (descrito en Comentarios) existe para aclarar qué recurso superpuesto es válido en un momento dado. Para maximizar la compatibilidad con las herramientas de gráficos, con el modelo simple no se admite la herencia de datos; y no se admite la invalidación más pormenorizada de mosaicos y subrecursos. Solo se produce la invalidación completa de recursos superpuestos. Requiere DirectX 12 Agility SDK 1.7 o posterior.

Sintaxis

Parámetros

pHeap
Tipo: ID3D12Heap *
Un puntero a la interfaz ID3D12Heap que representa el montón en el que se coloca el recurso. HeapOffset
Tipo: UINT64
El desplazamiento, en bytes, hasta el recurso. El HeapOffset debe ser un múltiplo de la alineación del recurso, y HeapOffset más el tamaño del recurso debe ser menor o igual que el tamaño del montón. Debe usarse GetResourceAllocationInfo para conocer los tamaños de los recursos de textura. pDesc
Tipo: const D3D12_RESOURCE_DESC1 *
Un puntero a una estructura D3D12_RESOURCE_DESC que describe el recurso. InitialLayout
Tipo: D3D12_BARRIER_LAYOUT
El diseño inicial del recurso de textura; D3D12_BARRIER_LAYOUT::D3D12_BARRIER_LAYOUT_UNDEFINED para los búferes. pOptimizedClearValue
Tipo: const D3D12_CLEAR_VALUE *
Especifica un D3D12_CLEAR_VALUE que describe el valor predeterminado de un color de borrado. pOptimizedClearValue especifica un valor para el que las operaciones de borrado 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á más comúnmente a la operación de borrado. Se puede llamar a las operaciones de borrado con otros valores, pero esas operaciones no serán tan eficientes como cuando el valor coincide con el que se pasó en la creación del recurso. pOptimizedClearValue debe ser NULL cuando se usa con D3D12_RESOURCE_DIMENSION_BUFFER. NumCastableFormats
Tipo: UINT32
El número de elementos de pCastableFormats. pCastableFormats
Tipo: DXGI_FORMAT *
Una matriz contigua de estructuras DXGI_FORMAT a las que se puede convertir este recurso. riid
Tipo: const IID &
El identificador único global (GUID) de la interfaz del recurso. Este es un parámetro de entrada. El REFIID, o GUID, de la interfaz del recurso se puede obtener mediante la macro __uuidof. Por ejemplo, __uuidof(ID3D12Resource) obtiene el GUID de la interfaz de un recurso. Aunque riid suele ser el GUID de ID3D12Resource, puede ser cualquier GUID de cualquier interfaz. Si el objeto de recurso no admite la interfaz de este GUID, la creación produce un error E_NOINTERFACE. ppvResource
Tipo: void **
Un puntero a un bloque de memoria que recibe un puntero al recurso. ppvResource puede ser NULL, para permitir la comprobación de capacidades. Cuando ppvResource es NULL, no se creará ningún objeto y se devolverá S_FALSE cuando pResourceDesc y los demás parámetros sean válidos.

Valor devuelto

Tipo: HRESULT Este método devuelve E_OUTOFMEMORY si no hay memoria suficiente para crear el recurso. Consulte códigos de retorno de Direct3D 12 para conocer otros valores devueltos posibles.

Comentarios

Consulte los Comentarios de ID3D12Device::CreatePlacedResource.

Requisitos

Encabezado: d3d12_xs.h
Biblioteca: d3d12_xs.lib
Plataformas compatibles: consolas XBOX Series

Consulte también

CreateCommittedResource CreateReservedResource ID3D12Device10 Montones compartidos
Última modificación el 28 de agosto de 2026