D3D12DDI_PREDICATION_OP 열거형(d3d12umddi.h)

조건자 작업 옵션에 대한 값을 포함합니다. 이 메서드는 조건자의 결과 조건자 데이터가 지정된 작업과 같으면 후속 비디오 작업 및 리소스 조작 명령이 실제로 수행되지 않음을 나타내는 데 사용됩니다.

Syntax

typedef enum D3D12DDI_PREDICATION_OP {
  D3D12DDI_PREDICATION_OP_EQUAL_ZERO,
  D3D12DDI_PREDICATION_OP_NOT_EQUAL_ZERO
} ;

상수

 
D3D12DDI_PREDICATION_OP_EQUAL_ZERO
64비트 버퍼의 모든 비트가 0인 경우 조건자를 사용하도록 설정합니다.
D3D12DDI_PREDICATION_OP_NOT_EQUAL_ZERO
64비트 버퍼 중 하나 이상이 0이 아닌 경우 조건자를 사용하도록 설정합니다.

설명

조건자를 사용하면 호출자가 명령 버퍼에 if 문을 가질 수 있습니다. ID3D12CommandList::SetPredication 명령은 if 문의 시작을 표시합니다. if 문은 ID3D12CommandList::SetPredication에 대한 다음 호출 또는 명령 목록이 닫힌 경우 종료됩니다. 또한 조건자는 중첩된 if's, else-if 또는 else를 지원하지 않습니다. 에 대해 평가할 식입니다. 이 ID3D12*CommandList::SetPredication 호출에 매개 변수로 전달됩니다. 64비트 값에 대한 포인터는 D3D12 버퍼 및 64비트 정렬 바이트 오프셋으로 전달됩니다. 작업은 비교를 지정합니다.

식이 true로 평가되면 if-statement의 명령이 실행 되지 않습니다 .

값 자체는 SetPredication 명령이 GPU에서 실행된 후에만 결정됩니다. 버퍼의 값은 GPU에서 실행될 때 SetPredication 명령에 의해 "캡처"되어야 합니다. 따라서 버퍼에 대한 후속 수정은 if 문의 명령이 실행되는지 여부를 변경하지 않습니다. 버퍼에 저장된 값은 어디에서나 있을 수 있습니다. 예를 들어 디코딩 쿼리 통계 상태 값, 셰이더에서 작성한 값 등이 있습니다.

명령 목록 내에서 애플리케이션은 Null 리소스 포인터를 사용하여 ID3D12*CommandList::SetPredication을 호출하여 명령 목록의 후속 명령에 대한 조건자를 사용하지 않도록 설정할 수 있습니다. 그렇지 않으면 사용자가 명령 목록을 닫고 실행을 위해 다시 설정하면 조건자 상태가 사용하지 않도록 다시 설정되므로 SetPredication이 명령 목록에 유지되지 않습니다.

요구 사항

요구 사항
헤더 d3d12umddi.h(D3d12umddi.h 포함)