From: Brian P. <bri...@tu...> - 2004-04-20 22:21:10
|
Andreas Stenglein wrote: > The result of _tnl_CreateContext( ctx ) isn't checked anywhere. > > and so you may get a sigsegv later in _tnl_install_attrs() > in this line: > vtx->emit = choose_emit_func; > > because ctx->swtnl_context is NULL if CALLOC didnt work. > > This occurs with some demos when trying to run them in wine (CVS), > for example cryonics_are_we.exe (64kByte Intro, shown at ms2002, see www.scene.org) > All demos I tried worked sometime in the past. I've occasionally had segfaults which appear to be caused by NULL tnl context pointers. I think we may be missing a makefile dependency because if I recompile everything from scratch, the problem goes away. I don't think _tnl_CreateContext() allocates a whole lot of memory - I'm surprised that CALLOC is failing. > And the demos DO WORK (but slow) with LIBGL_ALWAYS_INDIRECT=1, > but not with Radeon or R200 DRI. > > > Should I try a kernel with HIGHMEM (4G) support to workaround the problem? > current .config: > ... > CONFIG_NOHIGHMEM=y > # CONFIG_HIGHMEM4G is not set > # CONFIG_HIGHMEM64G is not set > # CONFIG_HIGHMEM is not set > ... > > Another odd thing: wine calls the CreateContext twice, the first time > with success, the second time without. Do you mean glXCreateContext()? Are the function parameters the same for both calls? -Brian |