функция обратного вызова 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
Указатель на массив токенов CONST UINT, составляющих код шейдера. Первый маркер в потоке кода шейдера всегда является маркером версии. Следующий маркер в потоке — это маркер длины, определяющий конец потока кода шейдера. Дополнительные сведения о формате кода шейдера 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 , которая составляет сигнатуру шейдера.
Возвращаемое значение
None
Remarks
Драйвер может использовать функцию обратного вызова pfnSetErrorCb , чтобы задать код ошибки.
Драйвер может передать E_OUTOFMEMORY (если у драйвера заканчивается память) или D3DDDIERR_DEVICEREMOVED (если устройство было удалено) в вызове функции pfnSetErrorCb . Среда выполнения Direct3D определит, что любые другие ошибки являются критическими. Если драйвер передает ошибки, включая D3DDDIERR_DEVICEREMOVED, среда выполнения Direct3D определит, что дескриптор неверен; Поэтому среда выполнения не будет вызывать функцию DestroyShader для уничтожения дескриптора, указанного параметром hShader .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Минимальная версия сервера | Windows Server 2012 |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3d10umddi.h (включая D3d10umddi.h) |
См. также раздел
CalcPrivateShaderSize(D3D11_1)