I wasn't aware you could do that, though in the end I needed to zip up some .bmps for the program to work, so I just did it manually. Plus it makes sense to do it, seeing as you wouldn't know my project settings etc. Sorry.
I've attached the 64bit and 32bit versions. 64bit is the one I'm actually working on, 32bit I made in case you have a 32bit system.
Basically I get to certain API calls and something seems to fail, at which point following API calls will be skipped (and they're from a separate, but similar, .dll).
The first case of this happens inside GetBitmap(), here:
glActiveTexture(GL_TEXTURE0); <---------------------------Problem is here
glGenTextures(1, &texture); <---------------------------This and the following calls are skipped entirely to the end of the function
glBindTexture(GL_TEXTURE_2D, texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, /*Type of texture*/
0, /*Level of Detail number*/
GL_RGB, /*Internal format*/
bmWidthPx, /*Width in texels(pixels?)*/
bmHeightPx, /*Height in texels(pixels?)*/
0, /*Border. Must be 0 (probably only for 2D)*/
GL_BGR, /*Format, of the data the texture will be created from*/
GL_UNSIGNED_BYTE,/*Data type of the pixel data*/
bmBuffer); /*Pointer to the image data to create the texture from*/
glActiveTexture comes from atio6axx.dll in 64bit (not sure in 32bit because the debugger lists EVERY dll as "untitled", don't know why. I assume it is the same or similar, as it would also be from AMD). The other functions i include afterwards are from OPENGL32.dll. If I comment out the glActiveTexture call, the following calls are called and executed.
This same issue happens here:
GLvoid InitGL(GLvoid)
{
FnLdInit();
GetBitmap();
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); <-------OPENGL32.dll, good.
glClearDepth(1.0f); <-------OPENGL32.dll, good.
glEnable(GL_DEPTH_TEST); <-------OPENGL32.dll, good.
glDepthFunc(GL_LEQUAL); <-------OPENGL32.dll, good.
glGenBuffers(1, &positionBufferObject); <-------atio6axx.dll, BUT it works! positionBufferObject receives a value of 1! (this value is legitimate).
errort = glGetError(); <------this runs, and returns 0 (which means it either detected no errors, or it failed. OPENGL32.dll
glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject); <----------atio6axx.dll. Stepping into this point causes the debugger to lose control to the window, and I cannot use any more buttons (step Into, Go/Debug, etc). I'm forced to close the tab to quit.
errort = glGetError();
glBufferData(GL_ARRAY_BUFFER, sizeof(thing), thing, GL_STATIC_DRAW);
errort = glGetError();
glBindBuffer(GL_ARRAY_BUFFER, 0);
errort = glGetError();
myProgram = CreateProgram();
}
All this code is a partial re-do of prior code which encountered a similar error, which I meant to debug with this (by scraping off some of the less necessary functions). That issue is outlined here:
http://stackoverflow.com/questions/13433071/why-do-i-get-an-access-violation-in-atio6axx-dll-when-calling-glbindbuffer. That is part of the larger, precursor code. The problem is that this re-do does not recreate the
exact same error, just a similar one dealing with the same code locations.
The reason I have come here is because I would like to know why the Pelles C debugger acts how it does upon reaching those API calls (the call-skipping and the debugger losing control after Step Into). If you can also assist me with my code issue, that would be nice as well, but not required (I can start a new post for that, and am already attempting to solve it on my own/with stackoverflow). If there's anything else you need from me, let me know. I'll get back to you ASAP, but it seems we're in different time zones (if you're local to this forum's time, as I am not).
Thank you for your assistance so far.