-------- Original-Nachricht --------
Datum: Wed, 16 Jan 2008 19:12:31 +0100 Von: Markus kde@graph-ix.net An: "Roderick Colenbrander" thunderbird2k@gmx.net, wine-devel@winehq.org Betreff: Re: Shader compiler GL error
On Wednesday 16 January 2008 18:41:46 you wrote:
the game's cached shaders. The game now crashes on startup with the following error: fixme:d3d_surface:flush_to_framebuffer_drawpixels >>>>>>>>>>>>>>>>> GL_INVALID_VALUE (0x501) from glDrawPixels @ surface.c / 1061
You should try running the app with '+d3d_surface' on.
Here is (hopefully relevant) output with +d3d_surface set:
trace:d3d_surface:IWineD3DSurfaceImpl_LoadLocation Surface 0x4e8fdf0 is an onscreen surface trace:d3d_surface:IWineD3DSurfaceImpl_LoadLocation (0x4e8fdf0)->(SFLAG_INDRAWABLE, (nil)) trace:d3d_surface:IWineD3DBaseSurfaceImpl_GetPitch (0x4e8fdf0) trace:d3d_surface:IWineD3DBaseSurfaceImpl_GetPitch (0x4e8fdf0) Returning 6400 trace:d3d_surface:IWineD3DBaseSurfaceImpl_GetPitch (0x4e8fdf0) trace:d3d_surface:IWineD3DBaseSurfaceImpl_GetPitch (0x4e8fdf0) Returning 6400 trace:d3d_surface:IWineD3DBaseSurfaceImpl_GetContainer (This 0x4e8fdf0, riid {34d01b10-6f30-11d9-c687-00046142c14f}, ppContainer 0x1a9daa8) trace:d3d_surface:IWineD3DBaseSurfaceImpl_GetContainer Relaying to QueryInterface trace:d3d_surface:surface_get_gl_buffer (0x4e8fdf0) : swapchain 0x4e7cc58 trace:d3d_surface:surface_get_gl_buffer Returning GL_BACK trace:d3d_surface:flush_to_framebuffer_drawpixels Unlocking 0x405 buffer trace:d3d_surface:flush_to_framebuffer_drawpixels glDrawBuffer call ok surface.c / 1015 fixme:d3d_surface:flush_to_framebuffer_drawpixels >>>>>>>>>>>>>>>>> GL_INVALID_VALUE (0x501) from glDrawPixels @ surface.c / 1061 trace:d3d_surface:flush_to_framebuffer_drawpixels glDrawBuffer(GL_BACK) call ok surface.c / 1087 trace:d3d_surface:IWineD3DSurfaceImpl_ModifyLocation (0x4e8fdf0)->(SFLAG_INDRAWABLE, TRUE) trace:d3d_surface:IWineD3DBaseSurfaceImpl_GetContainer (This 0x4e8fdf0, riid {34d01b10-6f30-11d9-c687-00046142c14f}, ppContainer 0x1a9dbc0)
You should get see what gets passed to glDrawPixels. According to the opengl man pages GL_INVALID_VALUE can occur if e.g. the dimensions are invalid. If these are indeed invalid, you need to figure out why they are wrong (I see that the pitch is 6400, which could mean a width of 1600 assuming bpp=4)
Roderick