Blender Git Commit Log

Git Commits -> Revision ce66b22

Revision ce66b22 by Germano Cavalcante (master)
June 5, 2019, 16:50 (GMT)
Fix crash when editing shaders on Intel HD 4000.

In the Intel HD 4000 driver a shader has to be deleted in the same context in which it is created.
However, because you can't use a rendering context on different threads, to maintain the multithreaded compilation, the solution was to use the `GL_ARB_get_program_binary` and copy the binary generated for the shader and generate a shader on the main context using that binary.
This solution is limited only to Intel HD 4000 and windows.

Reviewers: fclem

Reviewed By: fclem

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

Commit Details:

Full Hash: ce66b22c427defa3db498d2d69ee615b3c913c5f
Parent Commit: dd81efa
Lines Changed: +145, -40

8 Modified Paths:

/source/blender/draw/intern/draw_manager_shader.c (+19, -2) (Diff)
/source/blender/gpu/GPU_extensions.h (+1, -0) (Diff)
/source/blender/gpu/GPU_shader.h (+6, -0) (Diff)
/source/blender/gpu/intern/gpu_codegen.c (+29, -16) (Diff)
/source/blender/gpu/intern/gpu_codegen.h (+6, -1) (Diff)
/source/blender/gpu/intern/gpu_extensions.c (+27, -13) (Diff)
/source/blender/gpu/intern/gpu_material.c (+10, -8) (Diff)
/source/blender/gpu/intern/gpu_shader.c (+47, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021