Метод ID3D11DeviceContext2::CopyTileMappings (d3d11_2.h)

Копирует сопоставления из исходного мозаичного ресурса в целевой ресурс с плиткой.

Синтаксис

HRESULT CopyTileMappings(
  [in] ID3D11Resource                        *pDestTiledResource,
  [in] const D3D11_TILED_RESOURCE_COORDINATE *pDestRegionStartCoordinate,
  [in] ID3D11Resource                        *pSourceTiledResource,
  [in] const D3D11_TILED_RESOURCE_COORDINATE *pSourceRegionStartCoordinate,
  [in] const D3D11_TILE_REGION_SIZE          *pTileRegionSize,
  [in] UINT                                  Flags
);

Параметры

[in] pDestTiledResource

Тип: ID3D11Resource*

Указатель на ресурс назначения с плиткой.

[in] pDestRegionStartCoordinate

Тип: const D3D11_TILED_RESOURCE_COORDINATE*

Указатель на структуру D3D11_TILED_RESOURCE_COORDINATE , описывающую начальные координаты целевого мозаичного ресурса.

[in] pSourceTiledResource

Тип: ID3D11Resource*

Указатель на исходный ресурс с плиткой.

[in] pSourceRegionStartCoordinate

Тип: const D3D11_TILED_RESOURCE_COORDINATE*

Указатель на структуру D3D11_TILED_RESOURCE_COORDINATE , описывающую начальные координаты исходного мозаичного ресурса.

[in] pTileRegionSize

Тип: const D3D11_TILE_REGION_SIZE*

Указатель на структуру D3D11_TILE_REGION_SIZE , описывающую размер мозаичной области.

[in] Flags

Тип: UINT

Сочетание D3D11_TILE_MAPPING_FLAGS значений , объединенных с помощью побитовой операции OR. Единственное допустимое значение — D3D11_TILE_MAPPING_NO_OVERWRITE, указывающее, что ранее отправленные на устройство команды, которые могут по-прежнему выполняться, не ссылаются ни на одну из обновляемых областей плитки. Устройство может избежать необходимости сбрасывать ранее отправленные работы для выполнения обновления сопоставления плиток. Если приложение нарушает это обещание, обновив сопоставления плиток для расположений в мозаичного ресурсах, на которые по-прежнему ссылаются невыполненные команды, результаты поведения отрисовки неопределенны, включая вероятность значительного замедления некоторых архитектур. Это похоже на концепцию "нет перезаписи", которая существует в других местах в API Direct3D, за исключением самой структуры данных сопоставления плиток (которая в аппаратной части является таблицей страниц). Отсутствие значения D3D11_TILE_MAPPING_NO_OVERWRITE требует, чтобы обновления сопоставления плиток, которые указывает CopyTileMappings , должны быть завершены перед выполнением любой последующей команды Direct3D.

Возвращаемое значение

Тип: HRESULT

Возвращает S_OK в случае успешного выполнения; в противном случае возвращает одно из следующих значений:

  • Возвращает E_INVALIDARG , если при выполнении различных условий, таких как недопустимые флаги или передача ресурсов, отличных от плиток, вызов удаляется. Каждый регион dest и исходный регион должны полностью соответствовать их ресурсу, иначе поведение не определено (уровень отладки выдает ошибку).
  • Возвращает E_OUTOFMEMORY , если вызов приводит к тому, что драйверу приходится выделять место для новых сопоставлений таблиц страниц, но не хватает памяти. При нехватке памяти при вызове в командном списке и выполнении этого списка устройство будет удалено. Приложения могут избежать этой ситуации, выполняя только вызовы обновления, которые изменяют существующие сопоставления из мозаичных ресурсов в списках команд (поэтому драйверам не придется выделять память таблицы страниц, а только изменять сопоставление).

Комментарии

CopyTileMappings помогает выполнять такие задачи, как перемещение сопоставлений внутри и между мозаичными ресурсами, например прокрутка плиток. Исходный и целевой регионы могут перекрываться; Результат копирования в этой ситуации будет таким же, как если бы источник был сохранен во временном расположении, а затем был записан в место назначения.

Дополнительные сведения о мозаичного ресурсах см. в разделе Плитки ресурсов.

Требования

   
Минимальная версия клиента Windows 8.1 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header d3d11_2.h
Библиотека D3D11.lib

См. также раздел

ID3D11DeviceContext2