Compartir a través de


Método ID3D11DeviceContext1::UpdateSubresource1 (d3d11_1.h)

La CPU copia los datos de la memoria en un subrecurso creado en memoria no asignable.

Sintaxis

void UpdateSubresource1(
  [in]           ID3D11Resource  *pDstResource,
  [in]           UINT            DstSubresource,
  [in, optional] const D3D11_BOX *pDstBox,
  [in]           const void      *pSrcData,
  [in]           UINT            SrcRowPitch,
  [in]           UINT            SrcDepthPitch,
  [in]           UINT            CopyFlags
);

Parámetros

[in] pDstResource

Tipo: ID3D11Resource*

Puntero al recurso de destino.

[in] DstSubresource

Tipo: UINT

Índice de base cero que identifica el subrecurso de destino. Consulte D3D11CalcSubresource para obtener más detalles.

[in, optional] pDstBox

Tipo: const D3D11_BOX*

Puntero a un cuadro que define la parte del subrecurso de destino en el que se van a copiar los datos del recurso. Las coordenadas están en bytes para los búferes y en elementos de texturas. Si es NULL, UpdateSubresource1 escribe los datos en el subrecurso de destino sin desplazamiento. Las dimensiones del origen deben ajustarse al destino.

Un cuadro vacío da como resultado una operación sin operación. Un cuadro está vacío si el valor superior es mayor o igual que el valor inferior, o el valor izquierdo es mayor o igual que el valor derecho, o el valor frontal es mayor o igual que el valor atrás. Cuando el cuadro está vacío, UpdateSubresource1 no realiza una operación de actualización.

[in] pSrcData

Tipo: const void*

Puntero a los datos de origen en memoria.

[in] SrcRowPitch

Tipo: UINT

Tamaño de una fila de los datos de origen.

[in] SrcDepthPitch

Tipo: UINT

Tamaño de un segmento de profundidad de los datos de origen.

[in] CopyFlags

Tipo: UINT

Valor con tipo D3D11_COPY_FLAGS que especifica cómo realizar la operación de actualización. Si especifica cero para ninguna opción de actualización, UpdateSubresource1 se comporta como ID3D11DeviceContext::UpdateSubresource. En el caso de los controladores de pantalla existentes que no pueden procesar estas marcas, el entorno de ejecución no los usa.

Valor devuelto

None

Observaciones

Si llama a UpdateSubresource1 para actualizar un búfer de constantes, pasa cualquier región y el controlador no se ha implementado para Windows 8, el tiempo de ejecución quita la llamada (excepto el nivel de característica 9.1, 9.2 y 9.3 donde el tiempo de ejecución emula la compatibilidad). El tiempo de ejecución también quita la llamada si actualiza un búfer de constantes con una región parcial cuya extensión no está alineada con la granularidad de 16 bytes (16 bytes es una constante completa). Cuando el tiempo de ejecución quita la llamada, el tiempo de ejecución no llama a la interfaz de controlador de dispositivo (DDI) correspondiente.

Al grabar una llamada a UpdateSubresource con un pDstBox de desplazamiento en una lista de comandos de software, el desplazamiento en pDstBox se aplica incorrectamente a pSrcData al reproducir la lista de comandos. New-for-Windows 8 UpdateSubresource1 corrige este problema. En una llamada a UpdateSubresource1, pDstBox no afecta a pSrcData.

Para obtener información sobre varios tipos de recursos y cómo UpdateSubresource1 puede funcionar con cada tipo de recurso, consulte Introducción a un recurso en Direct3D 11.

NotaSolo se aplica al nivel de característica 9_x hardware Si usa UpdateSubresource1 o ID3D11DeviceContext1::CopySubresourceRegion1 para copiar desde un recurso provisional a un recurso predeterminado, puede dañar el contenido de destino. Esto ocurre si pasa un cuadro de origen NULL y si el recurso de origen tiene dimensiones diferentes de las del recurso de destino o si usa desplazamientos de destino (x, y y z). En esta situación, pase siempre un cuadro de origen que sea el tamaño completo del recurso de origen.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 y Actualización de plataforma para Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 y actualización de plataforma para Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado d3d11_1.h
Library D3D11.lib

Consulte también

ID3D11DeviceContext1