ran a few tests on my gffx5900 intf == internal format, NOTE when it saiz RGBA12 or someit i most likely get given RGBA8 etc, also the slight descrepences ~0.1% in timing are due to the timer
now BGRA is faster than RGBA BUT
something must be wrong, RGB with packed pixels is giving faster results than BGR.
So, is my code flawed? (i cant see how)
glTexSubImage2D Mpix/sec( 624.2) size( 128) intf(GL_RGBA8 ) format(GL_BGRA ) type(GL_UNSIGNED_INT_8_8_8_8_REV)
glTexSubImage2D Mpix/sec( 623.5) size( 128) intf(GL_RGBA12 ) format(GL_BGRA ) type(GL_UNSIGNED_INT_8_8_8_8_REV)
glTexSubImage2D Mpix/sec( 623.5) size( 128) intf(GL_RGBA16 ) format(GL_BGRA ) type(GL_UNSIGNED_INT_8_8_8_8_REV)
glTexSubImage2D Mpix/sec( 622.8) size( 128) intf(GL_RGBA ) format(GL_BGRA ) type(GL_UNSIGNED_INT_8_8_8_8_REV)
glTexSubImage2D Mpix/sec( 622.8) size( 128) intf(GL_RGBA8 ) format(GL_BGRA ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 622.8) size( 128) intf(GL_RGB10_A2 ) format(GL_BGRA ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 622.8) size( 128) intf(GL_RGB10_A2 ) format(GL_BGRA ) type(GL_UNSIGNED_INT_8_8_8_8_REV)
glTexSubImage2D Mpix/sec( 622.1) size( 128) intf(GL_RGBA16 ) format(GL_BGRA ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 619.9) size( 128) intf(GL_RGBA ) format(GL_BGRA ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 619.9) size( 128) intf(GL_RGBA12 ) format(GL_BGRA ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 246.2) size( 128) intf(GL_RGBA12 ) format(GL_BGRA ) type(GL_UNSIGNED_INT_8_8_8_8)
..
glTexSubImage2D Mpix/sec( 390.1) size( 128) intf(GL_RGBA16 ) format(GL_RGBA ) type(GL_UNSIGNED_INT_8_8_8_8)
glTexSubImage2D Mpix/sec( 388.5) size( 128) intf(GL_RGBA ) format(GL_RGBA ) type(GL_UNSIGNED_INT_8_8_8_8)
glTexSubImage2D Mpix/sec( 387.3) size( 128) intf(GL_RGB10_A2 ) format(GL_RGBA ) type(GL_UNSIGNED_INT_8_8_8_8)
glTexSubImage2D Mpix/sec( 386.8) size( 128) intf(GL_RGBA12 ) format(GL_RGBA ) type(GL_UNSIGNED_INT_8_8_8_8)
glTexSubImage2D Mpix/sec( 385.1) size( 128) intf(GL_RGBA8 ) format(GL_RGBA ) type(GL_UNSIGNED_INT_8_8_8_8)
glTexSubImage2D Mpix/sec( 272.0) size( 128) intf(GL_RGBA16 ) format(GL_RGBA ) type(GL_UNSIGNED_INT_8_8_8_8_REV)
glTexSubImage2D Mpix/sec( 271.7) size( 128) intf(GL_RGBA16 ) format(GL_RGBA ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 271.7) size( 128) intf(GL_RGBA12 ) format(GL_RGBA ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 271.1) size( 128) intf(GL_RGB10_A2 ) format(GL_RGBA ) type(GL_UNSIGNED_BYTE)
..
glTexSubImage2D Mpix/sec( 384.6) size( 128) intf(GL_RGB10 ) format(GL_BGR ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 384.6) size( 128) intf(GL_RGB ) format(GL_BGR ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 382.9) size( 128) intf(GL_RGB8 ) format(GL_BGR ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 381.8) size( 128) intf(GL_RGB12 ) format(GL_BGR ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 380.2) size( 128) intf(GL_RGB16 ) format(GL_BGR ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 219.3) size( 128) intf(GL_RGB5 ) format(GL_BGR ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 217.9) size( 128) intf(GL_R3_G3_B2 ) format(GL_BGR ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 215.4) size( 128) intf(GL_RGB4 ) format(GL_BGR ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 41.2) size( 128) intf(GL_RGB4 ) format(GL_BGR ) type(GL_UNSIGNED_INT )
..
glTexSubImage2D Mpix/sec(1819.9) size( 128) intf(GL_RGB ) format(GL_RGB ) type(GL_UNSIGNED_SHORT_5_6_5)
glTexSubImage2D Mpix/sec(1819.9) size( 128) intf(GL_RGB4 ) format(GL_RGB ) type(GL_UNSIGNED_SHORT_5_6_5)
glTexSubImage2D Mpix/sec(1819.9) size( 128) intf(GL_R3_G3_B2 ) format(GL_RGB ) type(GL_UNSIGNED_SHORT_5_6_5)
glTexSubImage2D Mpix/sec(1813.7) size( 128) intf(GL_RGB5 ) format(GL_RGB ) type(GL_UNSIGNED_SHORT_5_6_5)
glTexSubImage2D Mpix/sec( 411.1) size( 128) intf(GL_RGB8 ) format(GL_RGB ) type(GL_UNSIGNED_BYTE)
glTexSubImage2D Mpix/sec( 411.1) size( 128) intf(GL_RGB ) format(GL_RGB ) type(GL_UNSIGNED_BYTE)
..



