Hello, glCopyPixels() and glDrawPixels() in src/mesa/state_tracker/st_cb_drawpixels.c create a temporary texture to do their work, however they do not check if the pipe backend support NPOT textures or not, and so proper rendering fails on hardware that only support POT sized textures.
I started writing a patch that simply checks ctx->Extensions.ARB_texture_non_power_of_two for GL_FALSE, and calculate POT dimensions for said texture. Are there some cases in these functions that would prevent it from working, when using a bigger texture than needed by the operations? Also, I think glBitmap() suffer the same issue. For Nvidia hardware, all cards before Geforce 6 do not support NPOT textures; only POT textures on NV04 (TNT); POT and RECT textures from NV10 (Geforce 1) to NV30 (Geforce FX). -- Patrice Mandin WWW: http://pmandin.atari.org/ Programmeur Linux, Atari Spécialité: Développement, jeux ------------------------------------------------------------------------------ _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
