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


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

Функция CreateComputeShader создает шейдер вычислений.

Синтаксис

PFND3D11DDI_CREATECOMPUTESHADER Pfnd3d11ddiCreatecomputeshader;

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

Параметры

unnamedParam1

hDevice [in]

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

pShaderCode

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

unnamedParam3

hShader [in]

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

unnamedParam4

hRTShader [in]

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

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

None

Remarks

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

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

Требования

Требование Значение
Минимальная версия клиента CreateComputeShader поддерживается начиная с операционной системы Windows 7.
Целевая платформа Персональный компьютер
Верхняя часть d3d10umddi.h (включая D3d10umddi.h)

См. также раздел

CalcPrivateShaderSize

D3D11DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb