Matrox Video Driver Bugs

The Matrox video drivers for OS/2 are, in general, very solid.  By solid, I mean that they don't crash the system, they perform fairly well, and are generally all around good video drivers.   However, as with any non-trivial software project, there are bugs.  This page is to document some of those bugs.  There are two goals in doing so:
  1. Provide other OS/2 programmers with knowledge.  If other programmers know about the bugs, we, as a community, can find temporary workarounds to the problems so we can still deliver high quality programs to OS/2 users.
  2. Hopefully convince Matrox to fix these bugs in upcoming drivers.
First off, let me point out that I am using the 2.21.063 version of the Matrox drivers.  These bugs may not exist in older versions and may be corrected in newer versions.  If you find out that these bugs are fixed, please let me know so I can update this site.
 

Most of the bugs I know about in the driver relate to drawing to offscreen bitmaps.  One of the private projects I'm working on involves a lot of drawing to offscreen bitmaps and that is how I discoverd some of these.  However, my private projects are not the only ones affected.  For example, in Mesa 2, if you create a graph, you will see a "missing" pixel in the lower left corner of the border if the "Cache Graphs" option is turned on.  That is an example of a commercial program affected by the bug.  Anyway, here is a list of bugs related to drawing in off screen bitmaps:

There is also a bug in GpiFloodFill with the FF_SURFACE option set.  This bug affects both on-screen and off-screen drawing.  Basically, the Matrox drivers work fine if the surface color that it is filling is black or white, but it fails (however, the return code says it is successful) if the surface is any other color.

To demonstrate these bugs, I wrote a small little program that draws a little picture to both a bitmap (which is then blted to the screen) and directly to the screen.   This shows the difference in the output.   The exact same code is used to draw both pictures.   You can get the code to veryfy that from here.  You can also get the compiled program as an exe (20k) from here.

Running the program on my Chips and Technology notebook or my Mach 64 desktop yields:
 


 

However, on my Matrox Millenium desktop (yes, I have three computers), I get:

The picture on the left is drawn to an offscreen bitmap and then blted to the screen.  The one on the right is drawn directly to the screen.   As you can see, there is a big difference between the pictures.   The flood fill that was supposed to turn the blue to green failed on the Matrox driver.   There are pixels missing all over the place when the matrox driver draws offscreen.
 
 
 



<- Back to my homepage