Поделиться через


функция обратного вызова PFND3D11_1DDI_CREATEGEOMETRYSHADER (d3d10umddi.h)

Создает шейдер геометрии.

Синтаксис

PFND3D11_1DDI_CREATEGEOMETRYSHADER Pfnd3d111DdiCreategeometryshader;

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

Параметры

unnamedParam1

hDevice [in]

Дескриптор устройства отображения (графический контекст).

pShaderCode

Указатель на массив маркеров UINT CONST, составляющих код шейдера. Первый маркер в потоке кода шейдера всегда является маркером версии. Следующий маркер в потоке — это маркер длины, определяющий конец потока кода шейдера. Дополнительные сведения о формате кода шейдера Direct3D версии 11.1 см. в комментариях в файле заголовка D3d10tokenizedprogramformat.hpp, который входит в состав WDK.

unnamedParam3

hShader [in]

Дескриптор частных данных драйвера для геометрического шейдера. Драйвер возвращает размер в байтах области памяти, которую среда выполнения Microsoft Direct3D должна выделить для частных данных из вызова функции драйвера CalcPrivateShaderSize(D3D11_1). Дескриптор действительно является указателем на область памяти, размер которой запрашивается драйвером. Драйвер использует этот регион памяти для хранения внутренних структур данных, связанных с его объектом шейдера.

unnamedParam4

hRTShader [in]

Дескриптор геометрии, который драйвер должен использовать при вызове обратно в среду выполнения Direct3D.

unnamedParam5

pSignatures [in]

Указатель на структуру D3D11_1DDIARG_STAGE_IO_SIGNATURES, которая состоит из подписи шейдера.

Возвращаемое значение

Никакой

Замечания

Драйвер может использовать функцию обратного вызова pfnSetErrorCb для задания кода ошибки.

Драйвер может передать E_OUTOFMEMORY (если драйвер не хватает памяти) или D3DDDIERR_DEVICEREMOVED (если устройство было удалено) в вызове функции pfnSetErrorCb. Среда выполнения Direct3D определяет, что любые другие ошибки критически важны. Если драйвер передает какие-либо ошибки, включая D3DDDIERR_DEVICEREMOVED, среда выполнения Direct3D определит, что дескриптор неверный; Поэтому среда выполнения не вызовет функцию DestroyShader, чтобы уничтожить дескриптор, который указывает параметр hShader.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8
минимальный поддерживаемый сервер Windows Server 2012
целевая платформа Настольный
заголовка d3d10umddi.h (include D3d10umddi.h)

См. также

CalcPrivateShaderSize(D3D11_1)

D3D11_1DDIARG_STAGE_IO_SIGNATURES

DestroyShader

pfnSetErrorCb