diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-09-27 16:31:03 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-09-27 16:31:18 +0300 |
commit | df3891ed817ff7b4bc8ba1c4c313f0fc2df8eb1f (patch) | |
tree | a74987e9e8549af597c18553f797a67dbec075fd /source | |
parent | c6018391765c4406f8e190cb837174ed259ac90d (diff) |
Fix T69377 Texture flickering when selecting in solid viewport (AMD Pro driver)
Workaround that does not fix the real issue.
The bug is caused by glBufferData inside
DRW_instance_buffer_finish > GPU_vertbuf_use
but only after the selection code which resets the number of items in
idatalist->pool_buffers.
I don't understand why this is happening as the vbo ids are all valid and
no error is reported. What is even more strange, is that it affects another
vbo which has no connection with the ones in DRW_instance_buffer_finish.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/draw/intern/draw_manager.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index 4e4ff2d6dc6..6387cecc01f 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -2630,7 +2630,13 @@ void DRW_draw_select_id(Depsgraph *depsgraph, ARegion *ar, View3D *v3d, const rc drw_engines_cache_finish(); +#if 0 /* This is a workaround to a nasty bug that seems to be a nasty driver bug. (See T69377) */ DRW_render_instance_buffer_finish(); +#else + DST.buffer_finish_called = true; + // DRW_instance_buffer_finish(DST.idatalist); + drw_resource_buffer_finish(DST.vmempool); +#endif } /* Start Drawing */ |