ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint 메서드(d3d12.h)
UAV(순서가 지정되지 않은 액세스 뷰)의 모든 요소를 지정된 정수 값으로 설정합니다.
중요
이는 디스패치 호출과 같은 주변 작업과 관련하여 정렬되지 않는다는 점에서 컴퓨팅 작업처럼 동작합니다. 순서를 확인하려면 필요에 따라 ClearUnorderedAccessViewXxx 호출 전후에 장벽 호출을 실행해야 합니다. 이러한 장벽이 필요하지 않은 일부 드라이버에 나타날 수 있습니다. 그러나 암시적 장벽은 사양 보장이 아닙니다. 따라서 그들은 의지할 수 없습니다. 이는 ClearDepthStencilView 및 ClearRenderTargetView (예: DrawXxx 명령)가 명령 목록 순서를 준수하는 것과는 대조적입니다.
구문
void ClearUnorderedAccessViewUint(
D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
ID3D12Resource *pResource,
const UINT [4] Values,
UINT NumRects,
const D3D12_RECT *pRects
);
매개 변수
ViewGPUHandleInCurrentHeap
형식: [in] D3D12_GPU_DESCRIPTOR_HANDLE
지울 UAV(unordered-access view)에 대해 초기화된 설명자를 참조하는 D3D12_GPU_DESCRIPTOR_HANDLE . 이 설명자는 SetDescriptorHeaps를 통해 명령 목록에 설정해야 하는 셰이더 표시 설명자 힙에 있어야 합니다.
ViewCPUHandle
형식: [in] D3D12_CPU_DESCRIPTOR_HANDLE
지울 UAV(unordered-access view)에 대해 초기화된 설명자를 참조하는 셰이더가 아닌 표시 설명자 힙의 D3D12_CPU_DESCRIPTOR_HANDLE .
중요
이 설명자는 셰이더 표시 설명자 힙에 있지 않아야 합니다. 이는 clear를 디스패치가 아닌 고정 함수 하드웨어 작업으로 구현하는 드라이버가 설명자에서 효율적으로 읽을 수 있도록 하기 위한 것입니다. 셰이더 표시 힙은 WRITE_BACK 메모리( D3D12_HEAP_TYPE_UPLOAD 힙 유형과 유사함)에 생성될 수 있으며, 이러한 유형의 메모리에서 CPU 읽기는 엄청나게 느립니다.
pResource
형식: [in] ID3D12Resource*
지울 UAV(unordered-access-view) 리소스를 나타내는 ID3D12Resource 인터페이스에 대한 포인터입니다.
Values
형식: [in] const UINT[4]
순서가 지정되지 않은 액세스 보기 리소스를 채울 값이 포함된 4개 구성 요소 배열입니다.
NumRects
형식: [in] UINT
pRects 매개 변수가 지정하는 배열의 사각형 수입니다.
pRects
형식: [in] const D3D12_RECT*
지울 리소스 뷰의 사각형에 대한 D3D12_RECT 구조의 배열입니다. NULL인 경우 ClearUnorderedAccessViewUint는 전체 리소스 뷰를 지웁니다.
반환 값
없음
설명
런타임 유효성 검사
유효성 검사 실패로 인해 ID3D12GraphicsCommandList::Close 반환 E_INVALIDARG 호출됩니다.
디버그 계층
입력 값이 정규화된 범위를 벗어나면 디버그 계층에서 오류가 발생합니다.
뷰에서 참조하는 하위 리소스가 적절한 상태가 아닌 경우 디버그 계층에서 오류가 발생합니다. ClearUnorderedAccessViewUint의 경우 상태는 D3D12_RESOURCE_STATE_UNORDERED_ACCESS 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d12.h |
라이브러리 | D3d12.lib |
DLL | D3d12.dll |