[Bf-blender-cvs] [b2320263f20] tmp-eevee-material-refactor: EEVEE: Fix assert during default shader compilation

Clément Foucault noreply at git.blender.org
Thu May 14 16:58:58 CEST 2020


Commit: b2320263f20c4c37cd1eeb4c03f09947886aeb8a
Author: Clément Foucault
Date:   Mon May 11 14:44:48 2020 +0200
Branches: tmp-eevee-material-refactor
https://developer.blender.org/rBb2320263f20c4c37cd1eeb4c03f09947886aeb8a

EEVEE: Fix assert during default shader compilation

The default shader could have been requested as deferred and then as non
defered. This could make the shader compilation assert.

===================================================================

M	source/blender/draw/intern/draw_manager_shader.c

===================================================================

diff --git a/source/blender/draw/intern/draw_manager_shader.c b/source/blender/draw/intern/draw_manager_shader.c
index 73e7f2ff257..4d7d57d42aa 100644
--- a/source/blender/draw/intern/draw_manager_shader.c
+++ b/source/blender/draw/intern/draw_manager_shader.c
@@ -406,7 +406,7 @@ GPUMaterial *DRW_shader_create_from_world(struct Scene *scene,
                                           bool deferred)
 {
   GPUMaterial *mat = NULL;
-  if (DRW_state_is_image_render()) {
+  if (DRW_state_is_image_render() || !deferred) {
     mat = GPU_material_from_nodetree_find(&wo->gpumaterial, engine_type, options);
   }
 
@@ -446,7 +446,7 @@ GPUMaterial *DRW_shader_create_from_material(struct Scene *scene,
                                              bool deferred)
 {
   GPUMaterial *mat = NULL;
-  if (DRW_state_is_image_render()) {
+  if (DRW_state_is_image_render() || !deferred) {
     mat = GPU_material_from_nodetree_find(&ma->gpumaterial, engine_type, options);
   }



More information about the Bf-blender-cvs mailing list