From bc2e8d99e5ae0dbd69e712cc71da3033f5f30139 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Sat, 25 Nov 2017 00:07:54 -0300 Subject: Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function, leading to unnecesary copy on writes and reduced performance. --- servers/visual/shader_language.cpp | 2 +- servers/visual/visual_server_canvas.cpp | 2 +- servers/visual/visual_server_scene.cpp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'servers/visual') diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp index 0ea32fe99..246a80280 100644 --- a/servers/visual/shader_language.cpp +++ b/servers/visual/shader_language.cpp @@ -3606,7 +3606,7 @@ Error ShaderLanguage::_parse_shader(const Map &p_funct uniform.default_value.resize(cn->values.size()); - if (!convert_constant(cn, uniform.type, uniform.default_value.ptr())) { + if (!convert_constant(cn, uniform.type, uniform.default_value.ptrw())) { _set_error("Can't convert constant to " + get_datatype_name(uniform.type)); return ERR_PARSE_ERROR; } diff --git a/servers/visual/visual_server_canvas.cpp b/servers/visual/visual_server_canvas.cpp index 25724981e..31c09dc23 100644 --- a/servers/visual/visual_server_canvas.cpp +++ b/servers/visual/visual_server_canvas.cpp @@ -182,7 +182,7 @@ void VisualServerCanvas::render_canvas(Canvas *p_canvas, const Transform2D &p_tr } int l = p_canvas->child_items.size(); - Canvas::ChildItem *ci = p_canvas->child_items.ptr(); + Canvas::ChildItem *ci = p_canvas->child_items.ptrw(); bool has_mirror = false; for (int i = 0; i < l; i++) { diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp index 5b1eb8357..2f47a0ca1 100644 --- a/servers/visual/visual_server_scene.cpp +++ b/servers/visual/visual_server_scene.cpp @@ -597,7 +597,7 @@ void VisualServerScene::instance_set_custom_aabb(RID p_instance, AABB p_aabb) { ERR_FAIL_COND(!instance); ERR_FAIL_COND(!is_geometry_instance(instance->base_type)); - if(p_aabb != AABB()) { + if (p_aabb != AABB()) { // Set custom AABB if (instance->custom_aabb == NULL) @@ -1855,7 +1855,7 @@ void VisualServerScene::_setup_gi_probe(Instance *p_instance) { probe->dynamic.level_cell_lists.resize(header->cell_subdiv); - _gi_probe_fill_local_data(0, 0, 0, 0, 0, cells, header, ldw.ptr(), probe->dynamic.level_cell_lists.ptr()); + _gi_probe_fill_local_data(0, 0, 0, 0, 0, cells, header, ldw.ptr(), probe->dynamic.level_cell_lists.ptrw()); bool compress = VSG::storage->gi_probe_is_compressed(p_instance->base); -- cgit v1.3.1