Blender Git Commit Log

Git Commits -> Revision 8bf1977

Revision 8bf1977 by Antonio Vazquez (master)
June 22, 2019, 14:50 (GMT)
Fix T65955: GPencil: drawing shapes on surface causes intense viewport flickering

There were some problems in the engine because the data was saved inside e_data struct, but this struct is reset sometimes and the background texture is not valid.

Now, the data has been moved to stl->g_data and all creation and free has been moved to use stl->g_data. This fix also some small memory leak for the Buffer GPUBatch data.

The background texture has been moved to texture list because must be available all the time. When is not drawing, the texture is removed to safe memory. Also, if the mode is painting and the texture is not ready because it was removed by Draw Manager, the texture is reloaded with the background image again. This ensure the background image is always visible when painting.

Also I have used this patch to reduce the size of texture used for background to 16F instead of 32F and the blank texture to 1x1 pixels instead of 16x16.

Reviewed by: @fclem

See D5115 for more details

Commit Details:

Full Hash: 8bf1977d311fc7d8b5979fdd6ac5b982076b1e60
Parent Commit: 3c8f8a9
Lines Changed: +192, -192

4 Modified Paths:

/source/blender/draw/engines/gpencil/gpencil_draw_utils.c (+11, -35) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.c (+83, -65) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.h (+30, -31) (Diff)
/source/blender/draw/engines/gpencil/gpencil_shader_fx.c (+68, -61) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021