KhronosGroup / KhronosGroup/OpenGL-Registry
[OpenGL] Binding an index buffer with offset
- Dominant language
- C
- Stars
- 854
- Forks
- 302
- PR merge metrics
- No merged PRs in 30d
Description
I have the following use case:
I need to share resources between OpenGL and Vulkan. So from the Vulkan side i create a chunk of memory and a bind a VkBuffer on that memory with VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT. Then from the OpenGL side i import the chunk of memory and create GL buffers on various offsets of that memory that are then used as vertex and index buffers.
The thing is at least on one vendor driver, creating and deleting with glBufferStorageMemEXT and glDeleteBuffers is very slow (much slower that glBufferStorage/glDeleteBuffers), so if i could create only one GL buffer and bind offsets of it would solve the problem.
On the Vulkan side i can bind the vertex and index buffers with an offset.
On the OpenGL side i cannot bind the index buffers with an offset (whereas all other buffer types can be bound with offsets through glBindVertexBuffers / glBindBufferRange)
Contributor guide
No contributing guide indexed for this repository
Research direction
Review glBindVertexBuffers, glBindBufferRange, glBufferStorageMemEXT, and glDeleteBuffers, which are named in the report. Compare the OpenGL and Vulkan binding behavior described, then determine the appropriate registry or specification outcome for index-buffer offsets. The issue names no files or tests, so completion would require an agreed API design and documented result.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100