Blender Git Loki
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)
/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)