Skip to main content
복사할 수 있는 리소스 레이아웃을 가져옵니다. 업로드 힙에서 공간을 하위 할당할 때 앱이 D3D12_PLACED_SUBRESOURCE_FOOTPRINTD3D12_SUBRESOURCE_FOOTPRINT를 채우는 데 도움이 됩니다.

구문

매개 변수

pResourceDesc [in]
형식: const D3D12_RESOURCE_DESC *
리소스에 대한 설명으로, D3D12_RESOURCE_DESC 구조체에 대한 포인터입니다. FirstSubresource [in]
형식: UINT
리소스에서 첫 번째 하위 리소스의 인덱스입니다. 유효한 값의 범위는 0에서 D3D12_REQ_SUBRESOURCES까지입니다. NumSubresources [in]
형식: UINT
리소스의 하위 리소스 수입니다. 유효한 값의 범위는 0에서 (D3D12_REQ_SUBRESOURCES - FirstSubresource)까지입니다. BaseOffset
형식: UINT64
리소스에 대한 오프셋(바이트 단위)입니다. pLayouts [out, optional]
형식: D3D12_PLACED_SUBRESOURCE_FOOTPRINT *
각 하위 리소스의 설명과 배치로 채워질 NumSubresources 길이의 D3D12_PLACED_SUBRESOURCE_FOOTPRINT 구조체 배열에 대한 포인터입니다. pNumRows [out, optional]
형식: UINT *
각 하위 리소스의 행 수로 채워질 NumSubresources 길이의 정수 변수 배열에 대한 포인터입니다. pRowSizeInBytes [out, optional]
형식: UINT64 *
각 항목이 각 하위 리소스의 행에 대한 패딩되지 않은 바이트 크기로 채워질 NumSubresources 길이의 정수 변수 배열에 대한 포인터입니다. 예를 들어 Texture2D 리소스의 너비가 32이고 픽셀당 바이트가 4인 경우, pRowSizeInBytes는 128을 반환합니다. pRowSizeInBytes는 **행 피치(row pitch)**와 혼동해서는 안 됩니다. pLayouts를 검사하고 여기서 행 피치를 얻으면 256을 얻게 되는데, 이는 D3D12_TEXTURE_DATA_PITCH_ALIGNMENT에 맞춰 정렬되기 때문입니다. pTotalBytes [out, optional]
형식: UINT64 *
총 크기(바이트 단위)로 채워질 정수 변수에 대한 포인터입니다.

반환 값

형식: void 없음.

설명

이 루틴은 업로드 힙에서 공간을 하위 할당할 때 애플리케이션이 D3D12_PLACED_SUBRESOURCE_FOOTPRINTD3D12_SUBRESOURCE_FOOTPRINT 구조체를 채우는 것을 지원합니다. 결과 구조체는 GPU 어댑터와 무관하므로, 한 GPU 어댑터에서 다음 어댑터로 값이 변경되지 않습니다. GetCopyableFootprints는 리소스 형식, 텍스처 레이아웃 및 정렬 요구 사항(즉, D3D12_RESOURCE_DESC 구조체의 정보)에 대한 지정된 세부 정보를 사용하여 하위 리소스 구조체를 채웁니다. 애플리케이션은 이러한 모든 세부 정보에 액세스할 수 있으므로, 이 메서드 또는 그 변형은 앱의 일부로 작성할 수 있습니다.

예제

D3D12Multithreading 샘플은 다음과 같이 ID3D12Device::GetCopyableFootprints를 사용합니다:
D3D12 참조의 예제 코드를 참조하세요.

요구 사항

헤더: d3d12_xs.h 또는 d3d12_x.h
라이브러리: d3d12_xs.lib 또는 d3d12_x.lib
지원 플랫폼: XBOX Series 콘솔 및 XBOX One 제품군

함께 보기

CD3DX12_RESOURCE_DESC CD3DX12_SUBRESOURCE_FOOTPRINT ID3D12Device
마지막 수정일 2026년 8월 24일