Hi,

I recently sent this mail to the general Mesa list, but it looks like that
may have been the wrong forum. When I last looked it was a development list,
but it seems to have changed. (GAS Vs. NASM thread - wow!!!!)

I hope this information helps.

I've downloaded the mesa-3.1b1-tj2.tar.bz2 from
http://www.i21.com/~tjump/files/index.html#mesa-3d which apparently is the
latest tree for Windows development. I compiled this with Visual C++ 5.0
Service Pack 3. I'm running on Windows NT 4.0 SP 4.

It looks like if WMesaMakeCurrent is entered, with a valid context passed,
but the previous context was NULL (i.e. Current = NULL) then things blow
up. Specifically dither will try to dereference Current and so causes a
memory violation.

I've included the top of the stack trace. The item at the top is the last
function called.

dither (gl_context * 0x07940040, unsigned char 1) line 564 + 8 bytes
gl_update_state (gl_context * 0x07940040) line 1993 + 23 bytes
gl_make_current (gl_context * 0x07940040, gl_frame_buffer * 0x069f1de0) line
1447 + 9 bytes
WMesaMakeCurrent(wmesa_context * 0x069f08f0) line 1395 + 18 bytes
wglDeleteContext(void * 0x069f08f0) line 179 + 9 bytes
QUAKE3! 0044c2b2()
QUAKE3! 00446125()

The theory here is that this is happening when the context is being
destroyed. This is due to the fact that we know that Quake3 destroys it's
context on during startup, plus any other app when being shut down. 

I also tried the official 3.0 tree with all patches applied, but this was
much less sucsessful.

Hope this info is useful. Contact me if you need more info, or if you
manage to sort out what's going wrong.

Paul
--
Paul Sargent
Senior Design Engineer
3Dlabs Inc Ltd

Reply via email to