Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJeroen Bakker <jeroen@blender.org>2020-02-25 18:15:03 +0300
committerJeroen Bakker <jeroen@blender.org>2020-02-25 18:16:31 +0300
commite75059e3b6a22b70bef4b4f86829f79f1abd188f (patch)
tree42ac34b195bc96f8a6bbacaf6dae7946947e2f3c /source
parent6dd3e7d84da632402bab3ee136fc7d3b47b3b697 (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.c3
-rw-r--r--source/blender/makesdna/DNA_layer_types.h1
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;