Blender Git Commit Log

Git Commits -> Revision d7d32ad

Revision d7d32ad by Clément Foucault (master)
October 5, 2017, 23:50 (GMT)
Gawain: Simplify / optimize the shader interface.

This changes quite a few things:
- Drops the allocation of inputs as a chunk.
- Merge the linked list system into the Gwn_ShaderInput.
- Put name buffer into another memory block, easily resizable.
- Use offset instead of char* to direct to input name.
- Add only requested uniforms dynamicaly to the Shader Interface.

This drops some minor optimisation and use a bit more memory for small shaders (which are fixed count).
But this saves a lot of memory when using UBOs because the names and the Gwn_ShaderInput were alloc'ed for every UBO variable.
This also reduce the Shader Interface initial generation.
The lookup time is left unchanged.

Commit Details:

Full Hash: d7d32ad45217736c677edd22906d980d03aeb175
Parent Commit: 9ab3db1
Lines Changed: +101, -195

2 Modified Paths:

/intern/gawain/gawain/gwn_shader_interface.h (+9, -13) (Diff)
/intern/gawain/src/gwn_shader_interface.c (+92, -182) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021