Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-03-31 20:32:28 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-03-31 20:43:22 +0300
commitc77870fc78f594411c9831ee77eba2167a702fd7 (patch)
tree8ca99ec3f8745f2b3c4cd1f8e85df8e550ae5534 /source/blender/editors/include/UI_interface_icons.h
parent4dc0c923fb7f5c9c6f36ce0a63c1d19f241befa2 (diff)
UI: Perf: Batch icons drawcalls together.
For this we use a new shader that gets it's data from a uniform array. Vertex shader position the vertices using these data. Using glUniform is way faster than using imm for that matter. Like BLF rendering, UI icons are always (as far as I know) non occluded and displayed above everything else. They also does not overlap with texts so they can be batched at the same time.
Diffstat (limited to 'source/blender/editors/include/UI_interface_icons.h')
-rw-r--r--source/blender/editors/include/UI_interface_icons.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/include/UI_interface_icons.h b/source/blender/editors/include/UI_interface_icons.h
index cee68ed361c..8b436942fdd 100644
--- a/source/blender/editors/include/UI_interface_icons.h
+++ b/source/blender/editors/include/UI_interface_icons.h
@@ -77,6 +77,9 @@ void UI_icon_draw_size(float x, float y, int size, int icon_id, float alpha);
void UI_icons_free(void);
void UI_icons_free_drawinfo(void *drawinfo);
+void UI_icon_draw_cache_begin(void);
+void UI_icon_draw_cache_end(void);
+
struct ListBase *UI_iconfile_list(void);
int UI_iconfile_get_index(const char *filename);