다음을 통해 공유


PFND3D11_1DDI_ASSIGNDEBUGBINARY 콜백 함수(d3d10umddi.h)

셰이더를 만든 후에 사용할 수 있는 전체 셰이더 이진 파일을 제공합니다. 전체 셰이더 이진 파일을 사용하면 드라이버에서 일반적으로 사용할 수 없는 디버깅 정보 또는 기타 셰이더 이진 정보를 검색할 수 있습니다.

구문

PFND3D11_1DDI_ASSIGNDEBUGBINARY Pfnd3d111DdiAssigndebugbinary;

void Pfnd3d111DdiAssigndebugbinary(
       D3D10DDI_HDEVICE unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
       UINT uBinarySize,
  [in] const VOID *pBinary
)
{...}

매개 변수

unnamedParam1

hDevice [in]

디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.

unnamedParam2

hShader [in]

셰이더 개체에 대한 드라이버의 개인 데이터에 대한 핸들입니다.

uBinarySize

전체 셰이더 이진 파일의 크기(바이트)입니다.

[in] pBinary

전체 셰이더 이진 파일에 대한 포인터입니다.

반환 값

없음

설명

드라이버는 pfnSetErrorCb 콜백 함수를 사용하여 오류 코드를 설정할 수 있습니다.

AssignDebugBinary 는 다음이 모두 true인 경우에만 호출됩니다.

  • 디바이스를 디버그할 수 있습니다.
  • 사용자 모드 표시 드라이버가 D3D11_1DDI_D3D11_OPTIONS_DATA 설정했습니다. AssignDebugBinarySupport 플래그를 TRUE로 설정합니다.
  • 셰이더 만들기 함수 CreateXxxShaderXxx 가 호출되고, 성공했으며, 셰이더에 핸들을 반환했습니다.
드라이버는 D3DDDIERR_DEVICEREMOVED 제외하고 오류가 발생하지 않아야 합니다. 따라서 드라이버가 pfnSetErrorCb 함수를 호출할 때 D3DDDIERR_DEVICEREMOVED 제외하고 오류를 전달하는 경우 Microsoft Direct3D 런타임에서 오류가 중요한지 확인합니다. 디바이스가 제거된 경우에도 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 필요가 없습니다. 그러나 디바이스 제거가 AssignDebugBinary (일반적으로 발생하지 않아야 하는) 작업을 방해하는 경우 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
지원되는 최소 서버 Windows Server 2012
대상 플랫폼 데스크톱
머리글 d3d10umddi.h(D3d10umddi.h 포함)

추가 정보

D3D11_1DDI_D3D11_OPTIONS_DATA

pfnSetErrorCb