KhronosGroup / KhronosGroup/OpenGL-Registry

[OpenGL] Binding an index buffer with offset

Open
#655 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.