Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Journeyman III

Regression (12.9+): glBufferData Fails to Reallocate Memory for Texture Buffer Objects


I'm having an issue with texture buffer objects in OpenGL. It seems as though calling glBufferData on a texture buffer object (GL_TEXTURE_BUFFER) object that already has memory allocated with it will not reallocate any new memory. Any shader that attempts to read from the texture buffer object will get invalid data (just 0's actually) for any data that wasn't within the initial allocation size (pre-allocating enough data obviously masks/fixes the problem). It is my understanding that glBufferData should reallocate memory if called on an object which has already allocated memory.

The last driver that this was working on was Catalyst 12.8. I've tested this with an Radeon 6850 and a Radeon 7950 - both cards exhibit the same behavior.

I've tested the problem on the following drivers (and on both Windows 7 and Windows 8):

12.8: works
12.9 beta: broken

12.11 beta 4: broken


2 Replies


Sorry for the late response - I must have missed this question. Just to be clear, to reproduce the failure, you need to:

  • Allocate a buffer object of size N
  • Attach it to a buffer texture
  • Re-allocate a buffer of size M where M > N
  • Read from the texture in the shader

At this point, is the data at locations <= N correct and the data beyond N is incorrect, or is all of the data invalid?




I just noticed you replied - yes, you are correct. All data 0 to N is correct, all data past N is wrong. I just sent a bug report through the amd survey system.

Let me know if you also want me to post the details here as well. I also have a test program to verify the bug.