Blender Git Loki

Git Commits -> Revision f7d38e2

Revision f7d38e2 by Jeroen Bakker (master)
August 5, 2020, 13:45 (GMT)
Fix T77346: GPU Workaround Always Render Using Main Context

In Blender 2.90 EEVEE materials were refactored that introduced crashes on Intel
GPUs on Windows. The crash happened in the `local_context_workaround` that temporary
stored compiled materials in a binary form to reload it in the main GL context.

It has been tested that the workaround isn't needed anymore for HD6xx GPUs, but it
is still needed for HD4000.

After several unsuccesfull fixes we came to the conclusion that we could not support
the local context workaround and needed to come with a different workaround. The idea
of this patch is that in these cases there is only a single context that is used for
rendering. Threads that uses these contextes are guarded by a mutex and will block.

Impact on User Level:
* Due to main mutex lock the UI freezes when rendering or baking or feel less snappy

Reviewed By: Cl�ment Foucault, Brecht van Lommel

Differential Revision: https://developer.blender.org/D8410

Commit Details:

Full Hash: f7d38e2e6426a21f4b91bedc0fe635aba4692ff2
Parent Commit: 56d7e39
Lines Changed: +76, -32

10 Modified Paths:

/source/blender/draw/engines/eevee/eevee_lightcache.c (+14, -2) (Diff)
/source/blender/draw/intern/draw_manager.c (+12, -0) (Diff)
/source/blender/draw/intern/draw_manager_shader.c (+21, -4) (Diff)
/source/blender/gpu/GPU_context.h (+8, -0) (Diff)
/source/blender/gpu/GPU_extensions.h (+1, -1) (Diff)
/source/blender/gpu/intern/gpu_codegen.c (+0, -15) (Diff)
/source/blender/gpu/intern/gpu_codegen.h (+0, -5) (Diff)
/source/blender/gpu/intern/gpu_context.cpp (+11, -0) (Diff)
/source/blender/gpu/intern/gpu_extensions.c (+5, -5) (Diff)
/source/blender/windowmanager/intern/wm_draw.c (+4, -0) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021