ID3D12DebugCommandList1::AssertResourceState 메서드(d3d12sdklayers.h)
지정된 상태가 명령 목록을 기록하는 동안 지정된 하위 리소스의 상태를 알고 있다고 가정하여 하위 리소스의 상태와 일치하는지 확인합니다(예: 리소스가 동일한 명령 목록 기록의 앞부분에서 전환됨). 상태가 아직 알려지지 않은 경우 이 메서드는 나중에 동일한 명령 목록 기록에서 추가 유효성 검사를 위해 알려진 상태를 설정합니다.
구문
BOOL AssertResourceState(
[in] ID3D12Resource *pResource,
UINT Subresource,
UINT State
);
매개 변수
[in] pResource
형식: ID3D12Resource*
검사 ID3D12Resource를 지정합니다.
Subresource
형식: UINT
검사 하위 리소스의 인덱스입니다. 인덱스로 설정하거나 D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES 수 있습니다.
State
형식: UINT
검사 상태를 지정합니다. 이것은 하나 이상의 D3D12_RESOURCE_STATES 플래그 또는 함께 할 수 있습니다.
반환 값
형식: BOOL
이 메서드는 리소스 또는 하위 리소스의 추적된 상태가 지정된 상태와 일치하면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
설명
명령 목록 실행은 기록 후 가끔 발생하므로 명령 목록 기록 중에 리소스 상태를 알 수 없는 경우가 많습니다. AssertResourceState 는 애플리케이션 개발자에게 명령 목록의 고정 기록 지점에서 리소스 또는 하위 리소스에 가정된 상태를 적용할 수 있는 기능을 제공합니다.
명령 목록 기록 중에 리소스 또는 하위 리소스의 상태를 이전 장벽 또는 유추된 사용(예: CopyBufferRegion에 대한 이전 호출에서 사용됨)으로 인해 알 수 있는 경우가 많습니다. 이러한 경우 AssertResourceState 는 지정된 상태가 알려진 상태 또는 가정된 상태와 일치하지 않는 경우 디버그 메시지를 생성할 수 있습니다.
이 API는 디버그 유효성 검사 전용이며 리소스의 실제 런타임 또는 GPU 상태에 영향을 주지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3d12sdklayers.h |