Fedora Account System
Red Hat Associate
Red Hat Customer
Created attachment 754503 [details] /var/log/Xorg.0.log Description of problem: Testing a working application using openGL (through JOGL) failed on Fedora 18. I was trying to find the cause of another problem but noticed that buffers created using glGenBuffers are not deleted when using glDeleteBuffers in the process. Version-Release number of selected component (if applicable): 13.1 How reproducible: The following code is used in the display method of a JOGL application: int[] buffer = new int[1]; for(int i = 0; i < 5; i++) { gl.glGenBuffers(1, buffer, 0); System.out.println("Buffer Generated: " + buffer[0]); gl.glDeleteBuffers(1, buffer, 0); } Steps to Reproduce: 1. Execute a simple JOGL application with the above in the display method. 2. 3. Actual results: Buffer Generated: 1 Buffer Generated: 2 Buffer Generated: 3 Buffer Generated: 4 Buffer Generated: 5 Expected results: Buffer Generated: 1 Buffer Generated: 1 Buffer Generated: 1 Buffer Generated: 1 Buffer Generated: 1 Additional info: I have reported this on the JOGL forum. They believe this is not related to JOGL as the above works as intended using other drivers.
Created attachment 754504 [details] Output of command su -c 'lspci -nn'
Created attachment 754505 [details] Output from command dmesg
Created attachment 754537 [details] C++ Test Program Just to make sure JOGL was not playing any part in this error I have produced the attached simple freeglut program. This was run on Linux Mint Maya x86_64 using proprietary drivers and produced the expected results (i.e. 1, 1, 1, 1, 1). When run in Fedora 18, the incorrect output was produced as with the JOGL application (i.e. 1, 2, 3, 4, 5).
I was recommended to report this to xorg, which I did. Xorg have confirmed this is not a bug. It is the intended behaviour. This implementation does not reuse the buffers and instead moves on to the next available buffer name.