Compartir a través de


Método ID3D12Device10::CreateCommittedResource3 (d3d12.h)

Crea un recurso confirmado con un diseño inicial en lugar de un estado inicial.

Requiere el SDK de agilidad de DirectX 12 1.7 o posterior.

Sintaxis

HRESULT CreateCommittedResource3(
  const D3D12_HEAP_PROPERTIES    *pHeapProperties,
  D3D12_HEAP_FLAGS               HeapFlags,
  const D3D12_RESOURCE_DESC1     *pDesc,
  D3D12_BARRIER_LAYOUT           InitialLayout,
  const D3D12_CLEAR_VALUE        *pOptimizedClearValue,
  ID3D12ProtectedResourceSession *pProtectedSession,
  UINT32                         NumCastableFormats,
  const DXGI_FORMAT              *pCastableFormats,
  REFIID                         riidResource,
  void                           **ppvResource
);

Parámetros

pHeapProperties

Tipo: _In_ const D3D12_HEAP_PROPERTIES*

Puntero a una estructura de D3D12_HEAP_PROPERTIES que proporciona propiedades para el montón del recurso.

HeapFlags

Tipo: D3D12_HEAP_FLAGS

Opciones del montón, como una combinación bit a bit or'd de D3D12_HEAP_FLAGS constantes de enumeración.

pDesc

Tipo: const D3D12_RESOURCE_DESC1*

Puntero a una estructura D3D12_RESOURCE_DESC1 que describe el recurso, incluida una región mip.

InitialLayout

Diseño inicial del recurso de textura; D3D12_BARRIER_LAYOUT::D 3D12_BARRIER_LAYOUT_UNDEFINED para los búferes.

pOptimizedClearValue

Tipo: D3D12_CLEAR_VALUE* const

Especifica una estructura 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, debe elegir el valor con el que se llamará a la operación clear. Puede llamar a la operación clear con otros valores, pero esas operaciones no serán tan eficaces como cuando el valor coincide con el pasado a la creación de recursos.

Al usar D3D12_RESOURCE_DIMENSION_BUFFER, debe establecer pOptimizedClearValue en nullptr.

pProtectedSession

Tipo: id3D12ProtectedResourceSession*

Puntero opcional a un objeto que representa una sesión para la protección de contenido. Si se proporciona, esta sesión indica que el recurso debe protegerse. Puede obtener un id3D12ProtectedResourceSession llamando a ID3D12Device4::CreateProtectedResourceSession.

NumCastableFormats

Número de elementos de pCastableFormats.

pCastableFormats

Matriz contigua de DXGI_FORMAT estructuras a las que se puede convertir este recurso.

riidResource

Tipo: REFIID

Referencia al identificador único global (GUID) de la interfaz de recursos que se va a devolver en ppvResource.

Aunque riidResource suele ser la GUID de de ID3D12Resource, puede ser el GUID de de cualquier interfaz. Si el objeto de recurso no admite la interfaz para esta GUID, se produce un error en la creación con E_NOINTERFACE.

ppvResource

Tipo: void**

Puntero opcional a un bloque de memoria que recibe el puntero de interfaz solicitado al objeto de recurso creado.

ppvResource se puede nullptr, para habilitar las pruebas de funcionalidad. 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.

Valor devuelto Descripción
E_OUTOFMEMORY No hay memoria suficiente para crear el recurso.

Consulte códigos de retorno de Direct3D 12 para ver otros valores devueltos posibles.

Requisitos

Requisito Valor
de la plataforma de destino de Windows
encabezado de d3d12.h
biblioteca de D3d12.lib
DLL de D3d12.dll

Consulte también

id3D12Device10