glCopyTexSubImage2D fp16 -> fp32 slow

Hi

I need a copy from a fp16 framebuffer to a fp32 texture. glCopyTexSubImage2D is really slow on AGP and much faster on PCIe so I think there is a bus copy. Is there a workaround for this(PBOs) or must I send it through the fragment shader?

regards

marco

setup:
nv40
linux 7676
nforce2

1)What graphics card are you using ?
2) Have you called glTexImage2D ?
3) Have you used the texture for drawing after calling glTexImage2D and before calling glCopyTexSubImage2D ?

Also remember it is a floating point texture (memory bandwidth) and it has to do the fp16-to-fp32 conversion. But, I believe this should have nothing to do with glCopyTexSubImage2D but rather the sequence of texture creation/loading and usage.

Originally posted by dimensionX:
[b]1)What graphics card are you using ?
2) Have you called glTexImage2D ?
3) Have you used the texture for drawing after calling glTexImage2D and before calling glCopyTexSubImage2D ?

Also remember it is a floating point texture (memory bandwidth) and it has to do the fp16-to-fp32 conversion. But, I believe this should have nothing to do with glCopyTexSubImage2D but rather the sequence of texture creation/loading and usage.[/b]
I now use the ping pong methode so there is no need anymore for the fp16 buffer and its much faster.

  1. nv40 (Geforce 6800 GT)

  2. yes. I have used a null pointer for glTexImage2D.

  3. yes