[Bf-blender-cvs] [47e1e7212c7] blender2.8: Eevee: Fix crash with defered compilation and volumetric shaders

Clément Foucault noreply at git.blender.org
Tue Oct 9 17:35:23 CEST 2018


Commit: 47e1e7212c7b4a035c39ecf04b1ee0a6e2dbe28a
Author: Clément Foucault
Date:   Tue Oct 9 17:33:49 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB47e1e7212c7b4a035c39ecf04b1ee0a6e2dbe28a

Eevee: Fix crash with defered compilation and volumetric shaders

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

M	source/blender/draw/engines/eevee/eevee_volumes.c

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

diff --git a/source/blender/draw/engines/eevee/eevee_volumes.c b/source/blender/draw/engines/eevee/eevee_volumes.c
index 256838609a6..4fffa3f285c 100644
--- a/source/blender/draw/engines/eevee/eevee_volumes.c
+++ b/source/blender/draw/engines/eevee/eevee_volumes.c
@@ -46,6 +46,7 @@
 #include "eevee_private.h"
 #include "GPU_draw.h"
 #include "GPU_texture.h"
+#include "GPU_material.h"
 
 static struct {
 	char *volumetric_common_lib;
@@ -471,13 +472,13 @@ void EEVEE_volumes_cache_object_add(EEVEE_ViewLayerData *sldata, EEVEE_Data *ved
 
 	struct GPUMaterial *mat = EEVEE_material_mesh_volume_get(scene, ma);
 
-	DRWShadingGroup *grp = DRW_shgroup_material_empty_tri_batch_create(mat, vedata->psl->volumetric_objects_ps, sldata->common_data.vol_tex_size[2]);
-
 	/* If shader failed to compile or is currently compiling. */
-	if (grp == NULL) {
+	if (GPU_material_status(mat) != GPU_MAT_SUCCESS) {
 		return;
 	}
 
+	DRWShadingGroup *grp = DRW_shgroup_material_empty_tri_batch_create(mat, vedata->psl->volumetric_objects_ps, sldata->common_data.vol_tex_size[2]);
+
 	/* Making sure it's updated. */
 	invert_m4_m4(ob->imat, ob->obmat);



More information about the Bf-blender-cvs mailing list