I wrote below code: GLfloat bcolor [] = {0.5, 0.8, 0.6, 0.4 }; glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); glTexImage1D(GL_TEXTURE_1D, 0, GL_LUMINANCE, 64, 0, GL_RGBA, GL_FLOAT, (unsigned char *)texBuf); glTexParameterfv(GL_TEXTURE_1D, GL_TEXTURE_BORDER_COLOR, bcolor); Then draw a polygon. The texture object beyone the range[0,1] will use the border color. With i915 driver, the texel color on border is: 0.501961 0.800000 0.600000 With xlib and i965 driver, the texel color on border is: 0.501961 0.501961 0.501961 It seems xlib and i965 driver use internal format(GL_LUMINANCE) to store border texel, but i915 driver store the border texel separately.
Created attachment 10766 [details] test case
Border color dose not apply to interernal texture format, that is what 915 hardware do. I am afraid we can't change that, Dose the spec require this?
Do not see OGL spec mention how to process the border color. Now we concered is the behivior is differenct among i915/i965/xlib.
So it is not a bug. I don't think applications will rely on this.
Mass version move, cvs -> git
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.