12-09-2011 03:59 AM
I have an opengl application (32 bit) on windows which crashes reliably when the machine resumes from sleep.
Platform: Win7 64 bit
Display Adapter: Intel HD graphics
Hardware: Samsung BA68 with i5 2467M
Driver Version: Intel HD Graphics Family v 18.104.22.1686
Driver Date: 12/6/2010
If I try updating the driver, it says it is already at the latest version. I tried installingWin7Vista_64_152252, but the installer complained that the package wasn't meant for the particular platform.
I looked at the trace in windbg and the access violation happens on resume at EIP: ig4icd32!ShInitialize+0xe3e22
I looked at the call edx instruction at id4icd32!ShInitialize+0xe3e1c. The function seems to be called with the right parameters but it returns 0, in this case. The next instruction tries to de-reference eax+0C and dies.
This happens when my application calls glCopyTexImage2D. This function is being called all the time, but the invocation after resume/wakeup kills it.
Is there something I need to do with my code? Or this is a bug in the driver? Do you guys have some symbol server which can allow me to poke at ig4icd32.dll in an educated manner?
I am also attaching a mini dump file from the crash.
PS: this application works perfectly with ATI and nVidia graphics controllers.