Método ID3D11DeviceContext2::UpdateTiles (d3d11_2.h)

Novedades iconos copiando desde la memoria de la aplicación al recurso en mosaico.

Sintaxis

void UpdateTiles(
  [in] ID3D11Resource                        *pDestTiledResource,
  [in] const D3D11_TILED_RESOURCE_COORDINATE *pDestTileRegionStartCoordinate,
  [in] const D3D11_TILE_REGION_SIZE          *pDestTileRegionSize,
  [in] const void                            *pSourceTileData,
  [in] UINT                                  Flags
);

Parámetros

[in] pDestTiledResource

Tipo: ID3D11Resource*

Puntero a un recurso en mosaico que se va a actualizar.

[in] pDestTileRegionStartCoordinate

Tipo: const D3D11_TILED_RESOURCE_COORDINATE*

Puntero a una estructura de D3D11_TILED_RESOURCE_COORDINATE que describe las coordenadas iniciales del recurso en mosaico.

[in] pDestTileRegionSize

Tipo: const D3D11_TILE_REGION_SIZE*

Puntero a una estructura de D3D11_TILE_REGION_SIZE que describe el tamaño de la región en mosaico.

[in] pSourceTileData

Tipo: const void*

Puntero a la memoria que contiene los datos del icono de origen que UpdateTiles usa para actualizar el recurso en mosaico.

[in] Flags

Tipo: UINT

Combinación de D3D11_TILE_COPY_FLAG valores con tipo que se combinan mediante una operación OR bit a bit. El único valor válido es D3D11_TILE_COPY_NO_OVERWRITE. Los otros valores no son significativos aquí, aunque por definición, el valor de D3D11_TILE_COPY_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE es básicamente lo que hace UpdateTiles , pero los orígenes de la memoria de la aplicación.

Valor devuelto

None

Observaciones

UpdateTiles quita las operaciones de escritura en áreas no asignadas (excepto en Tier_1 recursos en mosaico, donde la escritura en áreas no asignadas no es válida).

Si una operación de copia implica escribir en la misma ubicación de memoria varias veces porque varias ubicaciones del recurso de destino se asignan a la misma memoria de mosaico, las operaciones de escritura resultantes en mosaicos multiasignados son no deterministas y no repetibles; es decir, los accesos a la memoria del icono se producen en cualquier orden en que el hardware se ejecute la operación de copia.

Los iconos implicados en la operación de copia no pueden incluir iconos que contengan mapas mip empaquetados o los resultados de la operación de copia no están definidos. Para transferir datos hacia y desde mapas mip que empaquetan el hardware en un icono, debe usar las API estándar (es decir, no específicas del icono) o las API de actualización (como ID3D11DeviceContext1::CopySubresourceRegion1 y ID3D11DeviceContext1::UpdateSubresource1) o ID3D11DeviceContext::GenerateMips para toda la cadena mipmap.

El diseño de memoria de los datos en el lado de origen de la operación de copia es lineal en memoria dentro de iconos de 64 KB, que el hardware y el controlador giran y deswizzle por icono según corresponda cuando se transfieren a y desde un recurso en mosaico. Para las superficies de suavizado multimuestra (MSAA), el hardware y el controlador atraviesan las muestras de cada píxel en orden de índice de muestra antes de pasar al siguiente píxel. En el caso de los iconos que se rellenan parcialmente en el lado derecho (para una superficie que tiene un ancho no múltiplo de ancho de mosaico en píxeles), el tono y el paso para bajar una fila es el tamaño completo en bytes del número de píxeles que caben en el icono si el icono estaba lleno. Por lo tanto, puede haber un espacio entre cada fila de píxeles en memoria. Los mapas Mip que son más pequeños que un icono no se empaquetan juntos en el diseño lineal, lo que podría parecer un desperdicio de espacio de memoria, pero como se mencionó, no puede usar ID3D11DeviceContext2::CopyTiles o UpdateTiles para copiar en mapas mip que el hardware empaqueta juntos. Solo puede usar API genéricas de copia y actualización (como ID3D11DeviceContext1::CopySubresourceRegion1 e ID3D11DeviceContext1::UpdateSubresource1) para copiar mapas mip pequeños individualmente. Aunque en el caso de una API de copia genérica (como ID3D11DeviceContext1::CopySubresourceRegion1), la memoria lineal debe ser la misma dimensión que el recurso en mosaico; ID3D11DeviceContext1::CopySubresourceRegion1 no se puede copiar desde un recurso de búfer a texture2D por ejemplo.

Para obtener más información sobre los recursos en mosaico, consulte Recursos en mosaico.

Requisitos

   
Cliente mínimo compatible Windows 8.1 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado d3d11_2.h
Library D3D11.lib

Consulte también

ID3D11DeviceContext2