Recientemente actualizamos de VS 2005
a (Windows XP). Usamos SlimDx
en uno de nuestros proyectos. Todo trabajaba bien después de la actualización, excepto mi Recuperar función, que es llamada el reinicio devicelost/dispositivo que bloquea conSlimDX Device.Restablecer bloqueos con un error "D3DERR_INVALIDCALL: llamada no válida (-2005530516)"
D3DERR_INVALIDCALL: Llamada no válida (-2005530516)
utilizo Ctrl - Alt - Del y luego Escape para simular la pérdida del dispositivo.
void Recover()
{
try
{
if (res.Code == D3DERR_DEVICENOTRESET)
{
res = m_device.Reset(m_presentParams); //Crashes on this.
if (res.IsSuccess)
{
m_deviceLost = false;
}
}
}
catch(Exception e)
{}
}
¿Es esto algo que ver con VS 2008
, ya que solía trabajar muy bien con VS 2005
?
¿Hay algo en el flujo de depuración que lo ayude? – Goz
Una búsqueda rápida de "D3DERR_INVALIDCALL Restablecer" conduce a MSDN. "La llamada al método no es válida. Por ejemplo, el parámetro de un método puede tener un valor no válido." Así que mi sugerencia sería verificar m_presentParams; ¿contiene la información que espera? –
resuelto: algunos de los recursos (stateblocks) no fueron eliminados. – ababeel