다음을 통해 공유


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

비트 OR 연산을 사용하여 결합된 D3D11_TILE_MAPPING_FLAGS 값의 조합입니다. 유일하게 유효한 값은 D3D11_TILE_MAPPING_NO_OVERWRITE. 이는 이전에 제출된 명령을 여전히 실행 중일 수 있는 디바이스에 업데이트 중인 타일 영역을 참조하지 않음을 나타냅니다. 그런 다음 디바이스는 타일 매핑 업데이트를 수행하기 위해 이전에 제출된 작업을 플러시할 필요가 없습니다. 앱이 아직 미해결 명령으로 참조되고 있는 타일 리소스의 위치에 대한 타일 매핑을 업데이트하여 이 약속을 위반하는 경우 일부 아키텍처에서 상당한 속도 저하 가능성을 포함하여 정의되지 않은 렌더링 동작 결과가 발생합니다. 타일 매핑 데이터 구조 자체(하드웨어의 경우 페이지 테이블)에 적용되는 경우를 제외하고 Direct3D API의 다른 곳에 존재하는 "덮어쓰지 않음" 개념과 같습니다. 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
헤더 d3d11_2.h
라이브러리 D3D11.lib

추가 정보

ID3D11DeviceContext2