Bug 968445 - openGL glDeleteBuffers does not delete buffers created using glGenBuffers
Summary: openGL glDeleteBuffers does not delete buffers created using glGenBuffers
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-drv-ati
Version: 18
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: X/OpenGL Maintenance List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-05-29 18:00 UTC by Dan Allen
Modified: 2013-06-06 20:53 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-06-06 20:53:48 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
/var/log/Xorg.0.log (45.29 KB, text/x-log)
2013-05-29 18:00 UTC, Dan Allen
no flags Details
Output of command su -c 'lspci -nn' (3.26 KB, text/plain)
2013-05-29 18:01 UTC, Dan Allen
no flags Details
Output from command dmesg (66.35 KB, text/plain)
2013-05-29 18:02 UTC, Dan Allen
no flags Details
C++ Test Program (983 bytes, text/x-c++src)
2013-05-29 20:44 UTC, Dan Allen
no flags Details

Description Dan Allen 2013-05-29 18:00:02 UTC
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.

Comment 1 Dan Allen 2013-05-29 18:01:12 UTC
Created attachment 754504 [details]
Output of command su -c 'lspci -nn'

Comment 2 Dan Allen 2013-05-29 18:02:18 UTC
Created attachment 754505 [details]
Output from command dmesg

Comment 3 Dan Allen 2013-05-29 20:44:47 UTC
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).

Comment 4 Dan Allen 2013-06-06 20:53:23 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.