[Bf-blender-cvs] [e6ce78895dd] blender2.8: Eevee: Cap Shadow resolution to 4096px^2.

Clément Foucault noreply at git.blender.org
Fri May 4 16:22:28 CEST 2018


Commit: e6ce78895ddd64bcaed24fa4e075ad86da670831
Author: Clément Foucault
Date:   Fri May 4 15:42:06 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBe6ce78895ddd64bcaed24fa4e075ad86da670831

Eevee: Cap Shadow resolution to 4096px^2.

As much as I want to give freedom to the user, 1.5G of vram for a
single shadow is a big of a stability issue.

So limiting to 4096 for now, we may remove this limit in the future.

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

M	source/blender/draw/engines/eevee/eevee_lights.c
M	source/blender/makesrna/intern/rna_layer.c

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

diff --git a/source/blender/draw/engines/eevee/eevee_lights.c b/source/blender/draw/engines/eevee/eevee_lights.c
index b7790d7dd0f..c123ea033ca 100644
--- a/source/blender/draw/engines/eevee/eevee_lights.c
+++ b/source/blender/draw/engines/eevee/eevee_lights.c
@@ -138,7 +138,7 @@ void EEVEE_lights_init(EEVEE_ViewLayerData *sldata)
 	    (linfo->shadow_method != sh_method) ||
 	    (linfo->shadow_high_bitdepth != sh_high_bitdepth))
 	{
-		BLI_assert((sh_cube_size > 0) && (sh_cube_size <= 8192));
+		BLI_assert((sh_cube_size > 0) && (sh_cube_size <= 4096));
 		DRW_TEXTURE_FREE_SAFE(sldata->shadow_cube_pool);
 		DRW_TEXTURE_FREE_SAFE(sldata->shadow_cube_target);
 		DRW_TEXTURE_FREE_SAFE(sldata->shadow_cube_blur);
@@ -149,6 +149,7 @@ void EEVEE_lights_init(EEVEE_ViewLayerData *sldata)
 		int new_cube_target_size = (int)ceil(sqrt((float)(sh_cube_size * sh_cube_size) / 6.0f) * 3.0f);
 
 		CLAMP(new_cube_target_size, 1, 4096);
+		CLAMP(sh_cube_size, 1, 4096);
 
 		linfo->shadow_cube_target_size = new_cube_target_size;
 		linfo->shadow_render_data.cube_texel_size = 1.0 / (float)linfo->shadow_cube_target_size;
@@ -158,10 +159,12 @@ void EEVEE_lights_init(EEVEE_ViewLayerData *sldata)
 	    (linfo->shadow_method != sh_method) ||
 	    (linfo->shadow_high_bitdepth != sh_high_bitdepth))
 	{
-		BLI_assert((sh_cascade_size > 0) && (sh_cascade_size <= 8192));
+		BLI_assert((sh_cascade_size > 0) && (sh_cascade_size <= 4096));
 		DRW_TEXTURE_FREE_SAFE(sldata->shadow_cascade_pool);
 		DRW_TEXTURE_FREE_SAFE(sldata->shadow_cascade_target);
 		DRW_TEXTURE_FREE_SAFE(sldata->shadow_cascade_blur);
+
+		CLAMP(sh_cascade_size, 1, 4096);
 	}
 
 	linfo->shadow_high_bitdepth = sh_high_bitdepth;
diff --git a/source/blender/makesrna/intern/rna_layer.c b/source/blender/makesrna/intern/rna_layer.c
index 921b6a27e42..cbc88835c1b 100644
--- a/source/blender/makesrna/intern/rna_layer.c
+++ b/source/blender/makesrna/intern/rna_layer.c
@@ -1141,7 +1141,6 @@ static void rna_def_view_layer_engine_settings_eevee(BlenderRNA *brna)
 		{1024, "1024", 0, "1024px", ""},
 		{2048, "2048", 0, "2048px", ""},
 		{4096, "4096", 0, "4096px", ""},
-		{8192, "8192", 0, "8192px", ""},
 		{0, NULL, 0, NULL, NULL}
 	};



More information about the Bf-blender-cvs mailing list