http://bugs.winehq.org/show_bug.cgi?id=14481
Summary: glViewport has no effect. Product: Wine Version: CVS/GIT Platform: PC-x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: opengl AssignedTo: wine-bugs@winehq.org ReportedBy: mah@jump-ing.de
Created an attachment (id=14807) --> (http://bugs.winehq.org/attachment.cgi?id=14807) log
To approach bug #10490 I built Wine from a current git and added a few trace statements to ./dlls/opengl32/opengl_norm.c:
void WINAPI wine_glViewport( GLint x, GLint y, GLsizei width, GLsizei height ) { GLint params[2]; TRACE("(%d, %d, %d, %d)\n", x, y, width, height ); ENTER_GL(); glGetIntegerv(GL_MAX_VIEWPORT_DIMS, params); TRACE("Viewport is: %d %d\n", params[0], params[1]); glViewport( x, y, width, height ); glGetIntegerv(GL_MAX_VIEWPORT_DIMS, params); TRACE("Viewport is: %d %d\n", params[0], params[1]); LEAVE_GL(); }
Obviously, glViewport, as used by Catia, is a no-op. See the last few lines in the attached log:
trace:opengl:wine_glViewport (0, 0, 852, 862) trace:opengl:wine_glViewport Viewport is: 4096 4096 trace:opengl:wine_glViewport Viewport is: 4096 4096
No matter what's given to glViewport, ths port's size remains a lot bigger than the screen is (1280x1024 pixels). Catia is running inside a window and 852x862 should be the size of the OpenGL view inside this.
I filed this bug in the hope it rings a bell somewhere and/or somebody has an idea how to find out what's missing here. This is an Intel G31 graphics running Ubuntu 8.04. Other (native) OpenGL apps run fine.
http://bugs.winehq.org/show_bug.cgi?id=14481
Traumflug mah@jump-ing.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |10490
http://bugs.winehq.org/show_bug.cgi?id=14481
Traumflug mah@jump-ing.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID
--- Comment #1 from Traumflug mah@jump-ing.de 2008-07-19 07:53:12 --- False alert *sigh*
The correct testing sode would have been:
GLint params[4]; glGetIntegerv(GL_VIEWPORT, params); TRACE("Viewport is: %d %d % %d\n", params[0], params[1], params[2], params[3]); [...]
The correct code appears to work or at least gives reasonable results.
http://bugs.winehq.org/show_bug.cgi?id=14481
James Hawkins truiken@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #2 from James Hawkins truiken@gmail.com 2008-07-19 11:09:54 --- Closing.
http://bugs.winehq.org/show_bug.cgi?id=14481
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified