[Bf-blender-cvs] [e75059e3b6a] master: Cleanup: removed runtime error
Jeroen Bakker
noreply at git.blender.org
Tue Feb 25 16:16:43 CET 2020
Commit: e75059e3b6a22b70bef4b4f86829f79f1abd188f
Author: Jeroen Bakker
Date: Tue Feb 25 16:15:03 2020 +0100
Branches: master
https://developer.blender.org/rBe75059e3b6a22b70bef4b4f86829f79f1abd188f
Cleanup: removed runtime error
The render passes checked all bits of an integer, that can lead to
runtime errors. Added the max bit in the DNA and used this.
===================================================================
M source/blender/draw/engines/eevee/eevee_materials.c
M source/blender/makesdna/DNA_layer_types.h
===================================================================
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c
index 0c9efeb0a16..7661dfb41a5 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -124,7 +124,8 @@ extern char datatoc_gpu_shader_uniform_color_frag_glsl[];
~EEVEE_RENDER_PASS_ENVIRONMENT; \
if (__filtered_##render_pass_index_ != 0) { \
int render_pass_index_ = 1; \
- for (int bit_##render_pass_ = 0; bit_##render_pass_ < 32; bit_##render_pass_++) { \
+ for (int bit_##render_pass_ = 0; bit_##render_pass_ < EEVEE_RENDER_PASS_MAX_BIT; \
+ bit_##render_pass_++) { \
eViewLayerEEVEEPassType render_pass_ = (1 << bit_##render_pass_); \
if ((__filtered_##render_pass_index_ & render_pass_) != 0) {
#define RENDER_PASS_ITER_END(render_pass_index_) \
diff --git a/source/blender/makesdna/DNA_layer_types.h b/source/blender/makesdna/DNA_layer_types.h
index 09d02e9a375..62ae5768879 100644
--- a/source/blender/makesdna/DNA_layer_types.h
+++ b/source/blender/makesdna/DNA_layer_types.h
@@ -47,6 +47,7 @@ typedef enum eViewLayerEEVEEPassType {
EEVEE_RENDER_PASS_AO = (1 << 13),
EEVEE_RENDER_PASS_BLOOM = (1 << 14),
} eViewLayerEEVEEPassType;
+#define EEVEE_RENDER_PASS_MAX_BIT 15
typedef struct Base {
struct Base *next, *prev;
More information about the Bf-blender-cvs
mailing list