Skip to main content
Crea un recurso y un montón implícito, de modo que el montón sea lo suficientemente grande como para contener todo el recurso, y el recurso quede asignado al montón.

Sintaxis

Parámetros

pHeapProperties [in]
Tipo: const D3D12_HEAP_PROPERTIES *
Un puntero a una estructura D3D12_HEAP_PROPERTIES que proporciona las propiedades del montón del recurso. HeapFlags [in]
Tipo: D3D12_HEAP_FLAGS
Opciones del montón, como una combinación mediante OR bit a bit de constantes de la enumeración D3D12_HEAP_FLAGS. pDesc [in]
Tipo: const D3D12_RESOURCE_DESC*
Un puntero a una estructura D3D12_RESOURCE_DESC que describe el recurso. InitialResourceState [in]
Tipo: D3D12_RESOURCE_STATES
El estado inicial del recurso, como una combinación mediante OR bit a bit de constantes de la enumeración D3D12_RESOURCE_STATES. Cuando cree un recurso junto con un montón D3D12_HEAP_TYPE_UPLOAD, debe establecer InitialResourceState en D3D12_RESOURCE_STATE_GENERIC_READ. Cuando cree un recurso junto con un montón D3D12_HEAP_TYPE_READBACK, debe establecer InitialResourceState en D3D12_RESOURCE_STATE_COPY_DEST. pOptimizedClearValue [in, optional]
Tipo: const D3D12_CLEAR_VALUE *
Especifica una estructura D3D12_CLEAR_VALUE que describe el valor predeterminado de un color de borrado. pOptimizedClearValue especifica un valor para el que las operaciones de borrado resultan 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, debe elegir el valor con el que se llamará más habitualmente a la operación de borrado. Puede llamar a la operación de borrado con otros valores, pero esas operaciones no serán tan eficaces como cuando el valor coincide con el que se pasó al crear el recurso. Cuando use D3D12_RESOURCE_DIMENSION_BUFFER, debe establecer pOptimizedClearValue en nullptr. riidResource [in]
Tipo: const IID &
Una referencia al identificador único global (GUID) de la interfaz de recurso que se va a devolver en ppvResource. Aunque riidResource suele ser el GUID de ID3D12Resource, puede ser el 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 [out, optional]
Tipo: void **
Un puntero opcional a un bloque de memoria que recibe el puntero de interfaz solicitado al objeto de recurso creado. ppvResource puede ser nullptr para habilitar las pruebas de funcionalidades. Cuando ppvResource es nullptr, no se crea ningún objeto y se devuelve S_FALSE cuando pDesc es válido.

Valor devuelto

Tipo: HRESULT Si la función se ejecuta correctamente, devuelve S_OK. De lo contrario, devuelve un código de error HRESULT. Consulte códigos de retorno de Direct3D 12 para conocer otros valores devueltos posibles.

Comentarios

Este método crea un recurso y un montón, de modo que el montón sea lo suficientemente grande como para contener todo el recurso, y el recurso quede asignado al montón. El montón creado se conoce como montón implícito, porque la aplicación no puede obtener el objeto del montón. Antes de liberar la referencia final del recurso, su aplicación debe asegurarse de que la GPU ya no leerá ni escribirá en este recurso. El montón implícito se hace residente para el acceso de la GPU antes de que el método devuelva el control a su aplicación. Consulte también Residencia. La asignación de VA de GPU del recurso no se puede cambiar. Consulte ID3D12CommandQueue::UpdateTileMappings y Recursos en mosaico de volumen. Varios subprocesos pueden llamar a este método simultáneamente.

Ejemplos

El ejemplo D3D12Bundles usa ID3D12Device::CreateCommittedResource de la siguiente manera: Cree un búfer de vértices.
Consulte el código de ejemplo en la referencia de Direct3D 12.

Requisitos

Encabezado: d3d12_xs.h o d3d12_x.h
Biblioteca: d3d12_xs.lib o d3d12_x.lib
Plataformas compatibles: consolas XBOX Series y familia XBOX One

Consulte también

CreatePlacedResource CreateReservedResource D3D12_HEAP_FLAGS ID3D12Device
Última modificación el 28 de agosto de 2026