Bug with all Nvidia drivers > 53.03 on Ti4200?

G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

Hi all.

I've got a Gainward GeForce 4 Ti4200, and wanted to upgrade the driver
to fix some annoying instabilities in recent games. The newer drivers
fix the instabilities all right, but cause problems with a scientific
application I've written. I've tracked down the problem to the
glRasterPos() openGL function call: calling this causes the program to
crash immediately.

It's not my program that's at fault here, as the attached code (a
standard example from the OpenGL Red Book) exhibits the same problem.
It's not my computer, as I've tried it on another computer with a
GeForce 4 Ti4200 and the same issue occurred.

I've tried several different driver versions: 30.82, 44.03, 45.23, 52.16
and 53.03 all work, while 56.64, 56.72, 66.93, 67.66 and 71.84 all cause
any application that calls glRasterPos() to crash. The only difference
between the crashing and not-crashing situations is which NVidia driver
is installed, and since all versions before 53.03 work fine and all
versions after have a problem I reckon that this must be a driver bug.

So, the question is, how do I let the developers at NVidia know about
this, given that it seems to be almost impossible to contact them?
Pretty crutty idea of customer service, if you ask me. Since the
glRasterPos call is unlikely to be used in games and so on, my suspicion
is that they just don't test their drivers adequately against the full
range of allowed openGl calls.

Attached code is 'drawf.c' from the Red Book. It crashes on the glRasterPos2i
call.

8<--------------------------------------------------------------
/*
* Copyright (c) 1993-1997, Silicon Graphics, Inc.
* ALL RIGHTS RESERVED
* Permission to use, copy, modify, and distribute this software for
* any purpose and without fee is hereby granted, provided that the above
* copyright notice appear in all copies and that both the copyright notice
* and this permission notice appear in supporting documentation, and that
* the name of Silicon Graphics, Inc. not be used in advertising
* or publicity pertaining to distribution of the software without specific,
* written prior permission.
*
* THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
* AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
* FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
* GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
* SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
* KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
* LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
* THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
* ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
* POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
*
* US Government Users Restricted Rights
* Use, duplication, or disclosure by the Government is subject to
* restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
* (c)(1)(ii) of the Rights in Technical Data and Computer Software
* clause at DFARS 252.227-7013 and/or in similar or successor
* clauses in the FAR or the DOD or NASA FAR Supplement.
* Unpublished-- rights reserved under the copyright laws of the
* United States. Contractor/manufacturer is Silicon Graphics,
* Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
*
* OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
*/

/*
* drawf.c
* Draws the bitmapped letter F on the screen (several times).
* This demonstrates use of the glBitmap() call.
*/
#include <GL/glut.h>
#include <stdlib.h>

GLubyte rasters[24] = {
0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,
0xff, 0x00, 0xff, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,
0xff, 0xc0, 0xff, 0xc0};

void init(void)
{
glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
glClearColor (0.0, 0.0, 0.0, 0.0);
}

void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 1.0, 1.0);
glRasterPos2i (20, 20);
glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
glFlush();
}

void reshape(int w, int h)
{
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho (0, w, 0, h, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
}

/* ARGSUSED1 */
void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 27:
exit(0);
}
}

/* Main Loop
* Open window with initial window size, title bar,
* RGBA display mode, and handle input events.
*/
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(100, 100);
glutInitWindowPosition(100, 100);
glutCreateWindow(argv[0]);
init();
glutReshapeFunc(reshape);
glutKeyboardFunc(keyboard);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

8<--------------------------------------------------------------

--
Mark Mackey http://www.swallowtail.org/
code code code code code code code code code code code code code bug code co
de code code code bug code code code code code code code code code code code
code code code code code code code code code code code code code code code c
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

It works fine on my machine. GF6 6600 GT, 66.93 drivers. I compiled it
with Visual Studio 6, not anything newer, as a C++ file.


Mark Mackey wrote:
> Hi all.
>
> I've got a Gainward GeForce 4 Ti4200, and wanted to upgrade the driver
> to fix some annoying instabilities in recent games. The newer drivers
> fix the instabilities all right, but cause problems with a scientific
> application I've written. I've tracked down the problem to the
> glRasterPos() openGL function call: calling this causes the program to
> crash immediately.
>
> It's not my program that's at fault here, as the attached code (a
> standard example from the OpenGL Red Book) exhibits the same problem.
> It's not my computer, as I've tried it on another computer with a
> GeForce 4 Ti4200 and the same issue occurred.
>
> I've tried several different driver versions: 30.82, 44.03, 45.23, 52.16
> and 53.03 all work, while 56.64, 56.72, 66.93, 67.66 and 71.84 all cause
> any application that calls glRasterPos() to crash. The only difference
> between the crashing and not-crashing situations is which NVidia driver
> is installed, and since all versions before 53.03 work fine and all
> versions after have a problem I reckon that this must be a driver bug.
>
> So, the question is, how do I let the developers at NVidia know about
> this, given that it seems to be almost impossible to contact them?
> Pretty crutty idea of customer service, if you ask me. Since the
> glRasterPos call is unlikely to be used in games and so on, my suspicion
> is that they just don't test their drivers adequately against the full
> range of allowed openGl calls.
>
> Attached code is 'drawf.c' from the Red Book. It crashes on the glRasterPos2i
> call.
>
> 8<--------------------------------------------------------------
> /*
> * Copyright (c) 1993-1997, Silicon Graphics, Inc.
> * ALL RIGHTS RESERVED
> * Permission to use, copy, modify, and distribute this software for
> * any purpose and without fee is hereby granted, provided that the above
> * copyright notice appear in all copies and that both the copyright notice
> * and this permission notice appear in supporting documentation, and that
> * the name of Silicon Graphics, Inc. not be used in advertising
> * or publicity pertaining to distribution of the software without specific,
> * written prior permission.
> *
> * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
> * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
> * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
> * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
> * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
> * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
> * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
> * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
> * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
> * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
> * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
> * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
> *
> * US Government Users Restricted Rights
> * Use, duplication, or disclosure by the Government is subject to
> * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
> * (c)(1)(ii) of the Rights in Technical Data and Computer Software
> * clause at DFARS 252.227-7013 and/or in similar or successor
> * clauses in the FAR or the DOD or NASA FAR Supplement.
> * Unpublished-- rights reserved under the copyright laws of the
> * United States. Contractor/manufacturer is Silicon Graphics,
> * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
> *
> * OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
> */
>
> /*
> * drawf.c
> * Draws the bitmapped letter F on the screen (several times).
> * This demonstrates use of the glBitmap() call.
> */
> #include <GL/glut.h>
> #include <stdlib.h>
>
> GLubyte rasters[24] = {
> 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,
> 0xff, 0x00, 0xff, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,
> 0xff, 0xc0, 0xff, 0xc0};
>
> void init(void)
> {
> glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
> glClearColor (0.0, 0.0, 0.0, 0.0);
> }
>
> void display(void)
> {
> glClear(GL_COLOR_BUFFER_BIT);
> glColor3f (1.0, 1.0, 1.0);
> glRasterPos2i (20, 20);
> glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
> glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
> glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
> glFlush();
> }
>
> void reshape(int w, int h)
> {
> glViewport(0, 0, (GLsizei) w, (GLsizei) h);
> glMatrixMode(GL_PROJECTION);
> glLoadIdentity();
> glOrtho (0, w, 0, h, -1.0, 1.0);
> glMatrixMode(GL_MODELVIEW);
> }
>
> /* ARGSUSED1 */
> void keyboard(unsigned char key, int x, int y)
> {
> switch (key) {
> case 27:
> exit(0);
> }
> }
>
> /* Main Loop
> * Open window with initial window size, title bar,
> * RGBA display mode, and handle input events.
> */
> int main(int argc, char** argv)
> {
> glutInit(&argc, argv);
> glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
> glutInitWindowSize(100, 100);
> glutInitWindowPosition(100, 100);
> glutCreateWindow(argv[0]);
> init();
> glutReshapeFunc(reshape);
> glutKeyboardFunc(keyboard);
> glutDisplayFunc(display);
> glutMainLoop();
> return 0;
> }
>
> 8<--------------------------------------------------------------
>
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

Mark Mackey wrote:
> Hi all.
>
> I've got a Gainward GeForce 4 Ti4200, and wanted to upgrade the driver
> to fix some annoying instabilities in recent games. The newer drivers
> fix the instabilities all right, but cause problems with a scientific
> application I've written. I've tracked down the problem to the
> glRasterPos() openGL function call: calling this causes the program to
> crash immediately.
>
> It's not my program that's at fault here, as the attached code (a
> standard example from the OpenGL Red Book) exhibits the same problem.
> It's not my computer, as I've tried it on another computer with a
> GeForce 4 Ti4200 and the same issue occurred.
>
> I've tried several different driver versions: 30.82, 44.03, 45.23, 52.16
> and 53.03 all work, while 56.64, 56.72, 66.93, 67.66 and 71.84 all cause
> any application that calls glRasterPos() to crash. The only difference
> between the crashing and not-crashing situations is which NVidia driver
> is installed, and since all versions before 53.03 work fine and all
> versions after have a problem I reckon that this must be a driver bug.
>
> So, the question is, how do I let the developers at NVidia know about
> this, given that it seems to be almost impossible to contact them?
> Pretty crutty idea of customer service, if you ask me. Since the
> glRasterPos call is unlikely to be used in games and so on, my suspicion
> is that they just don't test their drivers adequately against the full
> range of allowed openGl calls.
>
> Attached code is 'drawf.c' from the Red Book. It crashes on the glRasterPos2i
> call.
>
> 8<--------------------------------------------------------------
> /*
> * Copyright (c) 1993-1997, Silicon Graphics, Inc.
> * ALL RIGHTS RESERVED
> * Permission to use, copy, modify, and distribute this software for
> * any purpose and without fee is hereby granted, provided that the above
> * copyright notice appear in all copies and that both the copyright notice
> * and this permission notice appear in supporting documentation, and that
> * the name of Silicon Graphics, Inc. not be used in advertising
> * or publicity pertaining to distribution of the software without specific,
> * written prior permission.
> *
> * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
> * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
> * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
> * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
> * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
> * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
> * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
> * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
> * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
> * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
> * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
> * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
> *
> * US Government Users Restricted Rights
> * Use, duplication, or disclosure by the Government is subject to
> * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
> * (c)(1)(ii) of the Rights in Technical Data and Computer Software
> * clause at DFARS 252.227-7013 and/or in similar or successor
> * clauses in the FAR or the DOD or NASA FAR Supplement.
> * Unpublished-- rights reserved under the copyright laws of the
> * United States. Contractor/manufacturer is Silicon Graphics,
> * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
> *
> * OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
> */
>
> /*
> * drawf.c
> * Draws the bitmapped letter F on the screen (several times).
> * This demonstrates use of the glBitmap() call.
> */
> #include <GL/glut.h>
> #include <stdlib.h>
>
> GLubyte rasters[24] = {
> 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,
> 0xff, 0x00, 0xff, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,
> 0xff, 0xc0, 0xff, 0xc0};
>
> void init(void)
> {
> glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
> glClearColor (0.0, 0.0, 0.0, 0.0);
> }
>
> void display(void)
> {
> glClear(GL_COLOR_BUFFER_BIT);
> glColor3f (1.0, 1.0, 1.0);
> glRasterPos2i (20, 20);
> glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
> glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
> glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
> glFlush();
> }
>
> void reshape(int w, int h)
> {
> glViewport(0, 0, (GLsizei) w, (GLsizei) h);
> glMatrixMode(GL_PROJECTION);
> glLoadIdentity();
> glOrtho (0, w, 0, h, -1.0, 1.0);
> glMatrixMode(GL_MODELVIEW);
> }
>
> /* ARGSUSED1 */
> void keyboard(unsigned char key, int x, int y)
> {
> switch (key) {
> case 27:
> exit(0);
> }
> }
>
> /* Main Loop
> * Open window with initial window size, title bar,
> * RGBA display mode, and handle input events.
> */
> int main(int argc, char** argv)
> {
> glutInit(&argc, argv);
> glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
> glutInitWindowSize(100, 100);
> glutInitWindowPosition(100, 100);
> glutCreateWindow(argv[0]);
> init();
> glutReshapeFunc(reshape);
> glutKeyboardFunc(keyboard);
> glutDisplayFunc(display);
> glutMainLoop();
> return 0;
> }
>
> 8<--------------------------------------------------------------
>

I found this in some random OGL FAQ, maybe it applies:


10.070 How do I draw glBitmap() or glDrawPixels() primitives that have
an initial glRasterPos() outside the window's left or bottom edge?

When the raster position is set outside the window, it's often outside
the view volume and subsequently marked as invalid. Rendering the
glBitmap and glDrawPixels primitives won't occur with an invalid raster
position. Because glBitmap/glDrawPixels produce pixels up and to the
right of the raster position, it appears impossible to render this type
of primitive clipped by the left and/or bottom edges of the window.

However, here's an often−used trick: Set the raster position to a valid
value inside the view volume. Then make the following call:

glBitmap (0, 0, 0, 0, xMove, yMove, NULL);

This tells OpenGL to render a no−op bitmap, but move the current raster
position by (xMove,yMove). Your application will supply (xMove,yMove)
values that place the raster position outside the view volume. Follow
this call with the glBitmap() or glDrawPixels() to do the rendering you
desire.
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

As you have shown, it almost certainly must be a driver bug but you are
not likely to get satisfaction from either nVidia or Gainword.

The problem undoubtedly results from the drivers not being backwards
compatible with your card even if nVidia claims the Ti4200 is supported.
This has been shown to be true for both older cards and older OSes with
new drivers and there are many newsgroup messages regards similar
problems with DirectX as well as openGL.
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

In article <qunXd.591$PG3.35@newsfe6-gui.ntli.net>,
Sharanga Dayananda <sharanga@gmail.com> wrote:
>It works fine on my machine. GF6 6600 GT, 66.93 drivers. I compiled it
>with Visual Studio 6, not anything newer, as a C++ file.

Yes, I suspect it's specific to the Ti4200 (or similar ages of card):
newer cards seem to work fine for me as well.

--
Mark Mackey http://www.swallowtail.org/
code code code code code code code code code code code code code bug code co
de code code code bug code code code code code code code code code code code
code code code code code code code code code code code code code code code c
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

In article <_xtXd.351823$w62.87014@bgtnsc05-news.ops.worldnet.att.net>,
Robert Gault <robert.gault@worldnet.att.net> wrote:
>As you have shown, it almost certainly must be a driver bug but you are
>not likely to get satisfaction from either nVidia or Gainword.
>
>The problem undoubtedly results from the drivers not being backwards
>compatible with your card even if nVidia claims the Ti4200 is supported.
>This has been shown to be true for both older cards and older OSes with
>new drivers and there are many newsgroup messages regards similar
>problems with DirectX as well as openGL.

Arse: that's what I feared. Nvidia of course have a perfect right not to
support older cards with newer drivers (although supporting older cards
is good customer service), but they shouldn't claim that the cards are
supported when they clearly don't actually test to see if they are :(.

--
Mark Mackey http://www.swallowtail.org/
code code code code code code code code code code code code code bug code co
de code code code bug code code code code code code code code code code code
code code code code code code code code code code code code code code code c
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

In article <397gd6F5sjhlmU1@individual.net>,
deimos <deimos@localhost.net> wrote:
>I found this in some random OGL FAQ, maybe it applies:
>
>10.070 How do I draw glBitmap() or glDrawPixels() primitives that have
>an initial glRasterPos() outside the window's left or bottom edge?

Yes, this is a quite separate problem. I had hoped at one point that I
could use the the glBitmap() mathod of moving the raster position to
avoid having to call glRasterPos at all, but unfortunately you can only
change the x and y coords of the raster position with glBitmap, and I
need to set a z coord as well.

--
Mark Mackey http://www.swallowtail.org/
code code code code code code code code code code code code code bug code co
de code code code bug code code code code code code code code code code code
code code code code code code code code code code code code code code code c
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

> Arse: that's what I feared. Nvidia of course have a perfect right not to
> support older cards with newer drivers (although supporting older cards

Except that's a major selling feature. We don't want to go back to the
days of driver updates for cards being abandoned whether there are
outstanding bugs or nott.

> is good customer service), but they shouldn't claim that the cards are
> supported when they clearly don't actually test to see if they are :(.

They probably do test. But with software this complex, it's not possible
to test for everything all of the time.
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

In article <Xns9615809246489tq96@127.0.0.1>, tq96 <tq96@tq96.tq96> wrote:
>> Arse: that's what I feared. Nvidia of course have a perfect right not to
>> support older cards with newer drivers (although supporting older cards
>
>Except that's a major selling feature. We don't want to go back to the
>days of driver updates for cards being abandoned whether there are
>outstanding bugs or nott.

I agree: I was perhaps being over-nice to Nvidia there...

>> is good customer service), but they shouldn't claim that the cards are
>> supported when they clearly don't actually test to see if they are :(.
>
>They probably do test. But with software this complex, it's not possible
>to test for everything all of the time.

Except that the bug that I see involves the driver segfaulting
immediately when one of the standard original openGL 1.0 calls is made,
and moreover the original openGL 1.0 book's example programs contain
several examples in which this bug shows up. That's not really very obscure.

--
Mark Mackey http://www.swallowtail.org/
code code code code code code code code code code code code code bug code co
de code code code bug code code code code code code code code code code code
code code code code code code code code code code code code code code code c
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

Mark Mackey wrote:
> In article <qunXd.591$PG3.35@newsfe6-gui.ntli.net>,
> Sharanga Dayananda <sharanga@gmail.com> wrote:
>
>>It works fine on my machine. GF6 6600 GT, 66.93 drivers. I compiled it
>>with Visual Studio 6, not anything newer, as a C++ file.
>
>
> Yes, I suspect it's specific to the Ti4200 (or similar ages of card):
> newer cards seem to work fine for me as well.
>
I've actually tried this demo on a Ti4200, and a GF2 MX400 a few years
back. It could actually be yer compiler. I've heard many many people
(including myself ) complaining that OpenGL wasn't working or nVidia's
drivers aren't working, and always 'tis been some fault of my code. I
honestly doubt that they would've broken core functionality like that. I
think quite a few games use glRasterPos to render some components of
HUDs and such.


If you'd like to try out the executable I compiled, you can download it at:

http://sparrowhawk.no-ip.info/downloads/

it's glRasterPos.exe in that folder.

(please virus scan it, though I can assure you that 'tis not virus
infected.)

This would eliminate yer compiler as the culprit.

Sharanga
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

Mark Mackey wrote:
> In article <qunXd.591$PG3.35@newsfe6-gui.ntli.net>,
> Sharanga Dayananda <sharanga@gmail.com> wrote:
>
>>It works fine on my machine. GF6 6600 GT, 66.93 drivers. I compiled it
>>with Visual Studio 6, not anything newer, as a C++ file.
>
>
> Yes, I suspect it's specific to the Ti4200 (or similar ages of card):
> newer cards seem to work fine for me as well.
>
Actually I have a brother with Ti4200. I can ask him to try out this EXE
on his machine and let me know if it works.
 
G

Guest

Guest
Archived from groups: alt.comp.periphs.videocards.nvidia (More info?)

It runs fine on my brothers MSI Ti 4200 64 MB AGPx4 with the 66.93 drivers.


"Mark Mackey" <markm@chiark.greenend.org.uk> wrote in message
news:psl*hq2Iq@news.chiark.greenend.org.uk...
> Hi all.
>
> I've got a Gainward GeForce 4 Ti4200, and wanted to upgrade the driver
> to fix some annoying instabilities in recent games. The newer drivers
> fix the instabilities all right, but cause problems with a scientific
> application I've written. I've tracked down the problem to the
> glRasterPos() openGL function call: calling this causes the program to
> crash immediately.
>
> It's not my program that's at fault here, as the attached code (a
> standard example from the OpenGL Red Book) exhibits the same problem.
> It's not my computer, as I've tried it on another computer with a
> GeForce 4 Ti4200 and the same issue occurred.
>
> I've tried several different driver versions: 30.82, 44.03, 45.23, 52.16
> and 53.03 all work, while 56.64, 56.72, 66.93, 67.66 and 71.84 all cause
> any application that calls glRasterPos() to crash. The only difference
> between the crashing and not-crashing situations is which NVidia driver
> is installed, and since all versions before 53.03 work fine and all
> versions after have a problem I reckon that this must be a driver bug.
>
> So, the question is, how do I let the developers at NVidia know about
> this, given that it seems to be almost impossible to contact them?
> Pretty crutty idea of customer service, if you ask me. Since the
> glRasterPos call is unlikely to be used in games and so on, my suspicion
> is that they just don't test their drivers adequately against the full
> range of allowed openGl calls.
>
> Attached code is 'drawf.c' from the Red Book. It crashes on the
> glRasterPos2i
> call.
>
> 8<--------------------------------------------------------------
> /*
> * Copyright (c) 1993-1997, Silicon Graphics, Inc.
> * ALL RIGHTS RESERVED
> * Permission to use, copy, modify, and distribute this software for
> * any purpose and without fee is hereby granted, provided that the above
> * copyright notice appear in all copies and that both the copyright notice
> * and this permission notice appear in supporting documentation, and that
> * the name of Silicon Graphics, Inc. not be used in advertising
> * or publicity pertaining to distribution of the software without
> specific,
> * written prior permission.
> *
> * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
> * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
> * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
> * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
> * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
> * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
> * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
> * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
> * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
> * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
> * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
> * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
> *
> * US Government Users Restricted Rights
> * Use, duplication, or disclosure by the Government is subject to
> * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
> * (c)(1)(ii) of the Rights in Technical Data and Computer Software
> * clause at DFARS 252.227-7013 and/or in similar or successor
> * clauses in the FAR or the DOD or NASA FAR Supplement.
> * Unpublished-- rights reserved under the copyright laws of the
> * United States. Contractor/manufacturer is Silicon Graphics,
> * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
> *
> * OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
> */
>
> /*
> * drawf.c
> * Draws the bitmapped letter F on the screen (several times).
> * This demonstrates use of the glBitmap() call.
> */
> #include <GL/glut.h>
> #include <stdlib.h>
>
> GLubyte rasters[24] = {
> 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,
> 0xff, 0x00, 0xff, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,
> 0xff, 0xc0, 0xff, 0xc0};
>
> void init(void)
> {
> glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
> glClearColor (0.0, 0.0, 0.0, 0.0);
> }
>
> void display(void)
> {
> glClear(GL_COLOR_BUFFER_BIT);
> glColor3f (1.0, 1.0, 1.0);
> glRasterPos2i (20, 20);
> glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
> glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
> glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters);
> glFlush();
> }
>
> void reshape(int w, int h)
> {
> glViewport(0, 0, (GLsizei) w, (GLsizei) h);
> glMatrixMode(GL_PROJECTION);
> glLoadIdentity();
> glOrtho (0, w, 0, h, -1.0, 1.0);
> glMatrixMode(GL_MODELVIEW);
> }
>
> /* ARGSUSED1 */
> void keyboard(unsigned char key, int x, int y)
> {
> switch (key) {
> case 27:
> exit(0);
> }
> }
>
> /* Main Loop
> * Open window with initial window size, title bar,
> * RGBA display mode, and handle input events.
> */
> int main(int argc, char** argv)
> {
> glutInit(&argc, argv);
> glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
> glutInitWindowSize(100, 100);
> glutInitWindowPosition(100, 100);
> glutCreateWindow(argv[0]);
> init();
> glutReshapeFunc(reshape);
> glutKeyboardFunc(keyboard);
> glutDisplayFunc(display);
> glutMainLoop();
> return 0;
> }
>
> 8<--------------------------------------------------------------
>
> --
> Mark Mackey http://www.swallowtail.org/
> code code code code code code code code code code code code code bug code
> co
> de code code code bug code code code code code code code code code code
> code
> code code code code code code code code code code code code code code code
> c