PFND3D11_1DDI_CREATEPIXELSHADER 콜백 함수(d3d10umddi.h)

픽셀 셰이더 코드를 하드웨어별 형식으로 변환하고 이 코드를 셰이더 핸들과 연결합니다.

구문

PFND3D11_1DDI_CREATEPIXELSHADER Pfnd3d111DdiCreatepixelshader;

void Pfnd3d111DdiCreatepixelshader(
  D3D10DDI_HDEVICE unnamedParam1,
  const UINT *pShaderCode,
  D3D10DDI_HSHADER unnamedParam3,
  D3D10DDI_HRTSHADER unnamedParam4,
  const D3D11_1DDIARG_STAGE_IO_SIGNATURES *unnamedParam5
)
{...}

매개 변수

unnamedParam1

hDevice [in]

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

pShaderCode

셰이더 코드를 구성하는 CONST UINT 토큰 배열에 대한 포인터입니다. 셰이더 코드 스트림의 첫 번째 토큰은 항상 버전 토큰입니다. 스트림의 다음 토큰은 셰이더 코드 스트림의 끝을 결정하는 길이 토큰입니다. Direct3D 버전 11.1 셰이더 코드 형식에 대한 자세한 내용은 WDK에 포함된 D3d10tokenizedprogramformat.hpp 헤더 파일 내의 주석을 참조하세요.

unnamedParam3

hShader [in]

픽셀 셰이더에 대한 드라이버의 개인 데이터에 대한 핸들입니다. 드라이버는 드라이버의 CalcPrivateShaderSize(D3D11_1) 함수 호출에서 Microsoft Direct3D 런타임이 프라이빗 데이터에 할당해야 하는 메모리 영역의 크기(바이트)를 반환합니다. 핸들은 실제로 드라이버가 요청한 메모리 영역에 대한 포인터일 뿐입니다. 드라이버는 이 메모리 영역을 사용하여 셰이더 개체와 관련된 내부 데이터 구조를 저장합니다.

unnamedParam4

hRTShader [in]

드라이버가 Direct3D 런타임으로 다시 호출할 때 사용해야 하는 픽셀 셰이더에 대한 핸들입니다.

unnamedParam5

pSignatures [in]

셰이더의 서명을 구성하는 D3D11_1DDIARG_STAGE_IO_SIGNATURES 구조체에 대한 포인터입니다.

반환 값

없음

설명

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

드라이버는 pfnSetErrorCb 함수 호출에서 E_OUTOFMEMORY(드라이버의 메모리가 부족하면) 또는 D3DDDIERR_DEVICEREMOVED(디바이스가 제거된 경우)를 전달할 수 있습니다. Direct3D 런타임은 다른 오류가 중요한지 확인합니다. 드라이버가 D3DDDIERR_DEVICEREMOVED 포함한 오류를 전달하면 Direct3D 런타임에서 핸들이 올바르지 않음을 확인합니다. 따라서 런타임은 DestroyShader 함수를 호출하여 hShader 매개 변수가 지정하는 핸들을 삭제하지 않습니다.

요구 사항

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

추가 정보

CalcPrivateShaderSize(D3D11_1)

D3D11_1DDIARG_STAGE_IO_SIGNATURES

DestroyShader

pfnSetErrorCb