D3DERR_INVALIDCALL: Неверный вызов (-2005530516) - PullRequest
1 голос
/ 02 марта 2012

Кажется, я получаю сообщение об ошибке при тестировании на моем компьютере WinXP (SP3) Ошибка ниже, но я не получаю ее при использовании моего ноутбука Win7.

D3DERR_INVALIDCALL: Invalid call (-2005530516)
at SlimDX.Result.Throw[T](Object dataKey, Object dataValue)
at SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue)
at SlimDX.Direct3D9.Device..ctor(Direct3D direct3D, Int32 adapter, DeviceType deviceType, IntPtr     controlHandle, CreateFlags createFlags, PresentParameters[] presentParameters)

Код, который вызывает ошибку:

using (var d3d = new Direct3D())
{
using (var tmpDevice = new Device(d3d, 0, DeviceType.Hardware, IntPtr.Zero, CreateFlags.HardwareVertexProcessing, new PresentParameters() { BackBufferWidth = 1, BackBufferHeight = 1 }))
{
//I have some code here also but this doesn't even get here
}
}

Насколько я знаю, сбой связан с созданием нового устройства.

1 Ответ

1 голос
/ 04 марта 2012

Я предполагаю, что ваша видеокарта, вероятно, не поддерживает буфер 1x1.

Посмотрите на выходные данные среды выполнения отладки.Всякий раз, когда вы получаете InvalidCall, есть хорошие шансы, что там есть какая-то диагностическая информация, указывающая, что вы сделали неправильно.

...