PDA

View Full Version : Intel 945 GPU, AndorraDX93D.dll violation when object get's inside another object



robert83
17-08-2011, 02:09 PM
Hello everyone,

just wanted to test my program as is on a laptop... everything works fine (bug still there...I'm working on it, I can enter the wall's from some position when going up or left and right). The problem is if I enter the wall I get an access violation but only on laptop, on other computer same OS, only much better GPU GTX285, nothing, I can move inside the wall... I've already recompiled the AndorraDX93D.dll on this laptop to see if it fixes the problem but nothing...
558

When running from Delphi, access violation and it stops here :



procedure TAdSpritePixelCollisionTester.CheckCollision(ASpri te1,
ASprite2: TSprite);
begin
FDone := false;
//Call the collision test routine. The procedure "DrawSpriteProc" will be
//called by the pixel collision tester.
FPixelTester.CheckCollision(ASprite1, ASprite1.BoundsRect,
ASprite2, ASprite2.BoundsRect, DrawSpriteProc,
SpriteCollisionProc);
end;


Maybe I'm using something by default that is not supported on this GPU ?

Greetings
Robert

robert83
17-08-2011, 02:11 PM
Great...

found it : AdPixelCollisionTester := TAdSpritePixelCollisionTester.Create(AdDraw); ... but without this I don't have pixel perfect collision detection...what gives?

I'm way to newbie to understand why does this cause problem on this laptop but not on my regular computer...

Rob

code_glitch
17-08-2011, 07:06 PM
My guess is that that function calls the DirectX procedure relevant for pixel perfect collision from the Hardware it is running on - fine if you have a propper GPU however having used a 945 (or its revamps by intel AKA 945G and the infamous GSE) that call may not actually be implemented/fully implemented (intel does pull of garbage like this).

I would liken the 945 series as a clocked down 950 with fewer features and is effectively a pie that redirects graphics command to the CPU - it does very little.

Otherwise if you're running XP then I would look into service packs as the 945 has some issues with DX9 (it supposedly support DX9.0c) and thus has a variety of driver updates and fixes that were still fixing bugs in Service Pack 3...

It would not occure on your regular (or high end ;) ) pc simply because a DX9 call is archaic for your GTX285s DX10 support, I mean it has OpenCl 1.1 support which is sort of still on the bleeding edge.

Simply: Make a game on any ATI/nVidia chip with a GUI and to port it to anything earlier than a GMA 4500 / very new and overclocked GMA 950 you can change evrything to rectangles in 16 colour and hope to God it works...