구문
매개 변수
pTiledResource [in]형식: ID3D12Resource * 타일화된 리소스에 대한 포인터입니다. pTileRegionStartCoordinate [in]
형식: const D3D12_TILED_RESOURCE_COORDINATE * 타일화된 리소스의 시작 좌표를 설명하는 D3D12_TILED_RESOURCE_COORDINATE 구조체에 대한 포인터입니다. pTileRegionSize [in]
형식: const D3D12_TILE_REGION_SIZE * 타일화된 영역의 크기를 설명하는 D3D12_TILE_REGION_SIZE 구조체에 대한 포인터입니다. pBuffer [in]
형식: ID3D12Resource * 기본, 동적 또는 스테이징 버퍼를 나타내는 ID3D12Resource에 대한 포인터입니다. BufferStartOffsetInBytes
형식: UINT64 작업을 시작할 pBuffer의 버퍼에 대한 바이트 단위 오프셋입니다. Flags
형식: D3D12_TILE_COPY_FLAGS 비트 OR 연산을 사용하여 결합되고 타일을 복사하는 방법을 식별하는 D3D12_TILE_COPY_FLAGS 형식의 값 조합입니다.
반환 값
형식: void 없음.설명
CopyTiles는 매핑되지 않은 영역에 대한 쓰기 작업을 삭제하고 매핑되지 않은 영역의 읽기 작업을 처리합니다 (Tier_1 타일화된 리소스는 예외이며, 여기서 매핑되지 않은 영역을 읽고 쓰는 것은 유효하지 않음 — D3D12_TILED_RESOURCES_TIER 참조). 복사 작업에 대상 리소스의 여러 위치가 동일한 타일 메모리에 매핑되어 있어 동일한 메모리 위치에 여러 번 쓰는 작업이 포함되는 경우, 다중 매핑된 타일에 대한 결과 쓰기 작업은 비결정적이고 반복 불가능합니다. 즉, 타일 메모리에 대한 액세스는 하드웨어가 복사 작업을 실행하는 순서대로 발생합니다. 복사 작업에 관련된 타일에는 압축된 밉맵을 포함하는 타일이 포함될 수 없으며, 그렇지 않으면 복사 작업의 결과가 정의되지 않습니다. 압축된 밉을 구성하는 하나 이상의 타일에 하드웨어가 압축하는 밉맵과 데이터를 주고받으려면 CopyTextureRegion과 같은 표준(즉, 타일에 특정하지 않은) 복사 API를 사용해야 합니다. CopyTiles는 표준 복사 메서드와는 약간 다른 패턴으로 데이터를 복사합니다. 복사 작업의 비타일화된 버퍼 리소스 측에 있는 타일의 메모리 레이아웃은 64KB 타일 내에서 메모리에 선형적으로 배치되며, 하드웨어와 드라이버는 타일화된 리소스와 주고받을 때 타일별로 적절하게 스위즐 및 디스위즐합니다. 멀티샘플 안티에일리어싱(MSAA) 표면의 경우 하드웨어와 드라이버는 다음 픽셀로 이동하기 전에 각 픽셀의 샘플을 샘플 인덱스 순서로 순회합니다. 오른쪽에서 부분적으로 채워진 타일(픽셀 단위 타일 너비의 배수가 아닌 너비를 가진 표면)의 경우, 한 행 아래로 이동하기 위한 피치와 스트라이드는 타일이 가득 찼을 경우 타일에 걸쳐 들어갈 픽셀 수의 전체 크기(바이트 단위)입니다. 따라서 메모리 내 각 픽셀 행 사이에 간격이 있을 수 있습니다. 타일보다 작은 밉맵은 선형 레이아웃에서 함께 압축되지 않으며, 이는 메모리 공간의 낭비처럼 보일 수 있지만 앞서 언급했듯이 CopyTiles를 사용하여 하드웨어가 함께 압축하는 밉맵을 복사할 수는 없습니다. CopyTextureRegion과 같은 일반 복사 API를 사용하여 작은 밉맵을 개별적으로 복사할 수 있습니다.요구 사항
헤더: d3d12_xs.h 또는 d3d12_x.h라이브러리: d3d12_xs.lib 또는 d3d12_x.lib
지원 플랫폼: XBOX Series 콘솔 및 XBOX One 제품군
