diff options
author | Juan Linietsky <reduzio@gmail.com> | 2016-12-23 08:47:16 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2016-12-23 08:47:16 -0300 |
commit | 3adb42e217d29033e0637ae334790aa1d742d194 (patch) | |
tree | d3e626459ce9158483b5b84ff9fb5207a4d6f12a | |
parent | 6b35211c53f14e5c9ea00b4e8382f497a11240c8 (diff) |
Fixed many more bugs reported by Valgrind
-rw-r--r-- | drivers/gles3/rasterizer_scene_gles3.cpp | 4 | ||||
-rw-r--r-- | drivers/gles3/rasterizer_storage_gles3.cpp | 3 | ||||
-rw-r--r-- | drivers/gles3/shader_compiler_gles3.cpp | 1 | ||||
-rw-r--r-- | scene/main/viewport.cpp | 2 | ||||
-rw-r--r-- | servers/visual/visual_server_viewport.h | 1 |
5 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index d559d96287..d380d8d149 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -454,6 +454,7 @@ RID RasterizerSceneGLES3::reflection_atlas_create() { ReflectionAtlas *reflection_atlas = memnew( ReflectionAtlas ); reflection_atlas->subdiv=0; reflection_atlas->color=0; + reflection_atlas->size=0; for(int i=0;i<6;i++) { reflection_atlas->fbo[i]=0; } @@ -4576,6 +4577,9 @@ void RasterizerSceneGLES3::_generate_brdf() { void RasterizerSceneGLES3::initialize() { + + render_pass=0; + state.scene_shader.init(); default_shader = storage->shader_create(VS::SHADER_SPATIAL); diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index 24e6be588e..ec71f64049 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -1476,9 +1476,11 @@ void RasterizerStorageGLES3::_update_shader(Shader* p_shader) const { p_shader->spatial.depth_draw_mode=Shader::Spatial::DEPTH_DRAW_OPAQUE; p_shader->spatial.cull_mode=Shader::Spatial::CULL_MODE_BACK; p_shader->spatial.uses_alpha=false; + p_shader->spatial.uses_discard=false; p_shader->spatial.unshaded=false; p_shader->spatial.ontop=false; p_shader->spatial.uses_sss=false; + p_shader->spatial.uses_vertex=false; shaders.actions_scene.render_mode_values["blend_add"]=Pair<int*,int>(&p_shader->spatial.blend_mode,Shader::Spatial::BLEND_MODE_ADD); shaders.actions_scene.render_mode_values["blend_mix"]=Pair<int*,int>(&p_shader->spatial.blend_mode,Shader::Spatial::BLEND_MODE_MIX); @@ -1501,6 +1503,7 @@ void RasterizerStorageGLES3::_update_shader(Shader* p_shader) const { shaders.actions_scene.usage_flag_pointers["VERTEX"]=&p_shader->spatial.uses_vertex; shaders.actions_scene.usage_flag_pointers["SSS_STRENGTH"]=&p_shader->spatial.uses_sss; + shaders.actions_scene.usage_flag_pointers["DISCARD"]=&p_shader->spatial.uses_discard; actions=&shaders.actions_scene; actions->uniforms=&p_shader->uniforms; diff --git a/drivers/gles3/shader_compiler_gles3.cpp b/drivers/gles3/shader_compiler_gles3.cpp index 5c7a72ab17..336cf7b34b 100644 --- a/drivers/gles3/shader_compiler_gles3.cpp +++ b/drivers/gles3/shader_compiler_gles3.cpp @@ -579,6 +579,7 @@ Error ShaderCompilerGLES3::compile(VS::ShaderMode p_mode, const String& p_code, r_gen_code.uses_vertex_time=false; + used_name_defines.clear(); used_rmode_defines.clear(); diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 728997e794..8dec34a4cd 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -2760,7 +2760,7 @@ Viewport::Viewport() { shadow_atlas_size=0; for(int i=0;i<4;i++) { - shadow_atlas_quadrant_subdiv[0]=SHADOW_ATLAS_QUADRANT_SUBDIV_MAX; + shadow_atlas_quadrant_subdiv[i]=SHADOW_ATLAS_QUADRANT_SUBDIV_MAX; } set_shadow_atlas_quadrant_subdiv(0,SHADOW_ATLAS_QUADRANT_SUBDIV_4); set_shadow_atlas_quadrant_subdiv(1,SHADOW_ATLAS_QUADRANT_SUBDIV_4); diff --git a/servers/visual/visual_server_viewport.h b/servers/visual/visual_server_viewport.h index a9b8fe4e94..2eb0ea4679 100644 --- a/servers/visual/visual_server_viewport.h +++ b/servers/visual/visual_server_viewport.h @@ -71,6 +71,7 @@ public: disable_environment=false; viewport_to_screen=0; shadow_atlas_size=0; + disable_3d=false; } }; |