Game Development Community

TGEA 1.7.0 Beta 1 Bug - TGE Demo Advanced - crash

by Stephan Goebels · in Torque Game Engine Advanced · 03/19/2008 (1:31 pm) · 2 replies

When I activate the FSAA and set it on 8 and starting the "Interactive Walkthroug" then the TGEDemoAdvanced.exe crash (offset: 00102ae1).

FSAA 2 and 4 is ok.

Windows XP. Latest DirectX (WEB March 2008) and Drivers 69.21: Nvidia 7800GS.

--------------
Attempting to set resolution to "1280 1024 0 32 60 8"
Accepted Mode:
--Resolution : 1280 1024
--Full Screen : No
--Bits Per Pixel : 32
--Refresh Rate : 60
--FSAA Level 8
--------------
GFXPCD3D9Device::reset - depthstencil 180e60 has 2 ref's
--- Resetting D3D Device ---

#1
03/19/2008 (2:40 pm)
I have had some problems with getting DirectX to properly report what level of FSAA it supports. Theorectically the engine should be testing that and falling back gracefully to where the video driver reports as the maximum but there seems to be something going wrong.

You can take a look at this in GFXPCD3D9Device::validateMultisampleParams() if you would like to lend a hand.
#2
03/20/2008 (7:42 am)
Well I get the error message:

Fatal: (e:\torque\tgea_1_7_0_beta_1\engine\source\gfx\d3d9\gfxd3d9device.h @ 36)

D3DERR_INVALIDCALL
Invalid call
GFXD3D9TextureManager::_createTexture - unable to create render target

gfxD3D9TextureManager.cpp
// If this is a render target, and it needs z support, we're going to need to create an actual RenderTarget.  
         // Check the caps though, if we can't stretchrect between textures, use the old RT method.  (Which hopefully means
         // that they can't force AA on us as well.)
         if (retTex->mProfile->isRenderTargetZBuffer() && (mDeviceCaps.Caps2 && D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES))
         {
            D3D9Assert(mD3DDevice->CreateRenderTarget(width, height, d3dTextureFormat, 
               d3d->getMultisampleType(), d3d->getMultisampleLevel(), false, retTex->getSurfacePtr(), NULL),
               "GFXD3D9TextureManager::_createTexture - unable to create render target");
         }