mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-22 16:28:19 +02:00
Micro optimization: When sending cell uniform data dont even map the color table region in memory unless the color table is dirty
This commit is contained in:
10
kitty/gl.c
10
kitty/gl.c
@@ -391,6 +391,12 @@ map_buffer(ssize_t idx, GLenum access) {
|
||||
return ans;
|
||||
}
|
||||
|
||||
static void*
|
||||
map_buffer_range(ssize_t idx, GLbitfield access, int offset, unsigned size) {
|
||||
return glMapBufferRange(buffers[idx].usage, offset, size, access);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
unmap_buffer(ssize_t idx) {
|
||||
glUnmapBuffer(buffers[idx].usage);
|
||||
@@ -500,10 +506,10 @@ alloc_vao_buffer(ssize_t vao_idx, GLsizeiptr size, size_t bufnum, GLenum usage)
|
||||
}
|
||||
|
||||
void*
|
||||
map_vao_buffer(ssize_t vao_idx, size_t bufnum, GLenum access) {
|
||||
map_vao_buffer_for_write_only(ssize_t vao_idx, size_t bufnum, int offset, unsigned size) {
|
||||
ssize_t buf_idx = vaos[vao_idx].buffers[bufnum];
|
||||
bind_buffer(buf_idx);
|
||||
return map_buffer(buf_idx, access);
|
||||
return map_buffer_range(buf_idx, GL_MAP_WRITE_BIT | GL_MAP_INVALIDATE_RANGE_BIT, offset, size);
|
||||
}
|
||||
|
||||
void*
|
||||
|
||||
Reference in New Issue
Block a user