diff options
author | Jeroen Bakker <jeroen@blender.org> | 2020-02-25 18:15:03 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2020-02-25 18:16:31 +0300 |
commit | e75059e3b6a22b70bef4b4f86829f79f1abd188f (patch) | |
tree | 42ac34b195bc96f8a6bbacaf6dae7946947e2f3c /source | |
parent | 6dd3e7d84da632402bab3ee136fc7d3b47b3b697 (diff) |
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.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_materials.c | 3 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_layer_types.h | 1 |
2 files changed, 3 insertions, 1 deletions
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; |