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}
        };

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to