Bug 1287 - Complete immutable glNamedBufferStorage support in GLBufferObjectTracker
Summary: Complete immutable glNamedBufferStorage support in GLBufferObjectTracker
Alias: None
Product: Jogl
Classification: JogAmp
Component: opengl (show other bugs)
Version: 2.4.0
Hardware: pc_x86_64 windows
: P4 critical
Assignee: Giuseppe Barbieri
Depends on: 942
  Show dependency treegraph
Reported: 2016-02-02 14:42 CET by Giuseppe Barbieri
Modified: 2019-12-29 00:38 CET (History)
2 users (show)

See Also:
SCM Refs:
Workaround: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Giuseppe Barbieri 2016-02-02 14:42:31 CET
gl4.glNamedBufferStorage(bufferName[Buffer.ELEMENT], elementSize, elementBuffer, 0);


Caused by: java.lang.InternalError: Immutable glNamedBufferStorage not supported yet
	at jogamp.opengl.GLBufferObjectTracker.createBufferStorage(GLBufferObjectTracker.java:219)
	at jogamp.opengl.gl4.GL4bcImpl.glNamedBufferStorage(GL4bcImpl.java:40826)
	at tests.gl_450.Gl_450_direct_state_access.initBuffer(Gl_450_direct_state_access.java:220)
Comment 1 Julien Gouesse 2016-02-16 20:05:23 CET
Why is it a blocker??
Comment 2 Giuseppe Barbieri 2016-02-16 21:20:28 CET
I can't use DSA and immutable storage.. but probably you are right, I switch it to critical
Comment 3 Sven Gothel 2019-12-27 03:52:50 CET
As of the time of implementation, named immutable buffers were not fully supported within GL 4.4. 
This has changed, i.e. GL 4.5 supports glNamedBufferStorage.

jogl 50f9c9e113b09ab54ba40abba6b2face27c9a139
adds support for the immutable named buffer storage case.

Bug 942 comment 7, 
reflecting jogl commit 09fc7aa5539731bb0fba835caee61f6eb837ecff,
added GLBufferObjectTracker allowing to keep required references to NIO object.
This tracker complements the NIO buffer lifecycle with the GL semantics.

In case this change doesn't work as intended,
please create a new bug entry linked to this bug via 'depends on'.
Comment 4 Sven Gothel 2019-12-29 00:38:51 CET
comment 3 sets the state to resolved/fixed