I'm writing an application that uses a GLSL fragment shader to do some color conversion to RGB. This application uses GL_TEXTURE_RECTANGLE_ARB
because I need to support NPOT textures.
The problem happens when a 1280x720 image is rendered to a smaller surface, say 640x480.
Apparently, my ATI Technologies Inc RV610 video device [Radeon HD 2400 PRO] has problems performing minification filtering with GL_LINEAR
:
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
The red rectangle in the image below shows the exact location of the problem. Green-ish lines (4 or 5 pixels of height) are being rendered at the top of the video (black borders around the image are not part of the rendering, ok?!). Depending on the image being rendered, the color of lines change as well:
With zoom:
The problem doesn't happens with:
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
I've tested this application on another PC with an Intel card, and it also happens with an Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03), regardless of the filtering mode being set. Coincidence?
Am I forgetting to do something in the code, could this be a driver issue? I have several machines with the same Intel card and the problem occurs in all of them. It's important to state that this issue doesn't happen on a NVIDIA GeForce 7300.