Claudio6969 / slimdx

Automatically exported from code.google.com/p/slimdx
MIT License
0 stars 1 forks source link

Device.Reset() not functioning properly when using CreateFlag.AdapterGroupDevice and full-screen #808

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Device.Reset() does not correctly wrap the DirectX Reset method. It is supposed 
to take an array of PresentParameters (according to 
http://msdn.microsoft.com/en-us/library/bb324109%28v=VS.85%29.aspx ).

The issue presents itself in the situation where a multi-monitor full-screen 
device is created using the CreateFlag.AdapterGroupDevice setting. Once the 
device is lost (or any reset is required), the Device.Reset() only takes a 
single PresentParameters object instead of an array (like the device 
constructor does). Subsequently an 'Invalid value for BackBufferFormat' error 
is generated (presumably due to the missing PresentParameters for the remaining 
outputs).

Original issue reported on code.google.com by joris_le...@hotmail.com on 23 Jun 2011 at 7:22

GoogleCodeExporter commented 9 years ago
I have created a patch for the issue and can confirm it fixes the problem for 
my application. I simply mirrored the constructor, but also changed (as in the 
constructor)

RECORD_D3D9( hr )

to

if( RECORD_D3D9( hr ).IsFailure )
            throw gcnew Direct3D9Exception( Result::Last );

Regards,

Original comment by joris_le...@hotmail.com on 24 Jun 2011 at 7:14

Attachments:

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r2109.

Original comment by Mike.Popoloski on 8 Jul 2011 at 2:50