Calling Present() with sync interval of 1 in windowed mode

Hi all,

I'm currently working on porting an existing engine to D3D10 (using Vista RC1 build 5600, DX9 SDK Aug 2006) on RefRast.

With a windowed device I get the following debug output when calling Present(1, 0) on my swap chain.

First-chance exception at 0x7676dde0 in ArtPreviewerDebug.exe: Microsoft C++ exception: _com_error @ 0x0012f458.

If I call Present(0,0), i.e. with no wait for sync interval I don't get the error.

Is this simply a change for D3D10 that you can't wait for the vertical sync in windowed mode any more or is there some other issue I'm missing?

I get the same results if I modify one of the D3D10 samples to call Present(1,0).

However, when I try to switch one of the D3D10 samples to fullscreen to see if I can confirm my theory I get the following error messages and the app dies horribly:

First-chance exception at 0x7676dde0 in Tutorial07.exe: Microsoft C++ exception: _com_error @ 0x0012f610.
D3D10: UM Driver Internal Error.
Removing Device.
D3D10: WARNING: : Device removal has been triggered with the for the following reason (DXGI_ERROR_DRIVER_INTERNAL_ERROR: There is strong evidence that the driver has performed an undefined operation). [ EXECUTION WARNING #379: DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT ]
D3D10: Raising UM Driver Internal Error to continuable exception.First-chance exception at 0x7676dde0 in Tutorial07.exe: 0x00000879: 0x879.
Unhandled exception at 0x7676dde0 in Tutorial07.exe: 0x00000879: 0x879.

There's not really much of a question left now but just wondered if anyone else had encountered these issues or if I have a configuration-specific issue.

Cheers

Greg

[1666 byte] By [GregBooker] at [2008-2-5]
# 1

Using a sync interval of 1 works fine form me.

As the Direct3D 10 refrast use a Direct3D 9 device for this may I ask you what graphics hardware you have in this system?

RalfKornmann at 2007-8-31 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,Direct3D 10...
# 2
It's an nVidia 6600 GT running the 96.33 Vista drivers from the nVidia site.

This is on a debug build, FWIW, off the top of my head I can't remember if it also occurs in Release.

Do the samples work on refrast in fullscreen for you also?

Cheers

Greg

GregBooker at 2007-8-31 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,Direct3D 10...
# 3

I am use a 6800 GT with the same driver. I haven’t tried full screen mode yet.

Have you installed another SDK before? I had some problems at the beta 2 timeframe with two SDK.

RalfKornmann at 2007-8-31 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,Direct3D 10...
# 4
I'm using two PCs, one running XP on which I compile and then remote debug the other machine which is running Vista. The former has had several SDKs installed on it over the past couple of years but I think/hope I remembered to uninstall each previous iteration. The latter was fresh installed with Vista RC1 followed by the August 2006 SDK

Oh, well, it's not a showstopper in any case, I was just curious as to whether I had a configuration screwup or if the expected behaviour in windowed mode had changed. I guess if you're not getting the _com_error messages then it's the former.

I've just noticed that I didn't make it clear that it still works I just get the error message in the Output window every time I call Present(1,0)

Greg

GregBooker at 2007-8-31 > top of Msdn Tech,Game Technologies: DirectX, XNA, XACT, etc.,Direct3D 10...