diff options
| author | Juan Linietsky | 2017-11-25 00:07:54 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2017-11-25 00:09:40 -0300 |
| commit | bc2e8d99e5ae0dbd69e712cc71da3033f5f30139 (patch) | |
| tree | d836011e3d5873e3ceea328ea3100f3c7719ab99 /drivers/gles3/rasterizer_storage_gles3.cpp | |
| parent | 7dfba3cda9f13427f9f10a6eefbec52aef62274c (diff) | |
| download | godot-bc2e8d9.tar.gz godot-bc2e8d9.tar.zst godot-bc2e8d9.zip | |
Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
Diffstat (limited to 'drivers/gles3/rasterizer_storage_gles3.cpp')
| -rw-r--r-- | drivers/gles3/rasterizer_storage_gles3.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index a41d84a2a..89d3d7ff7 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -3477,7 +3477,7 @@ void RasterizerStorageGLES3::mesh_clear(RID p_mesh) { } } -void RasterizerStorageGLES3::mesh_render_blend_shapes(Surface *s, float *p_weights) { +void RasterizerStorageGLES3::mesh_render_blend_shapes(Surface *s, const float *p_weights) { glBindVertexArray(s->array_id); @@ -4063,7 +4063,7 @@ void RasterizerStorageGLES3::update_dirty_multimeshes() { int stride = multimesh->color_floats + multimesh->xform_floats; int count = multimesh->data.size(); - float *data = multimesh->data.ptr(); + float *data = multimesh->data.ptrw(); AABB aabb; @@ -4327,7 +4327,7 @@ void RasterizerStorageGLES3::skeleton_bone_set_transform(RID p_skeleton, int p_b ERR_FAIL_INDEX(p_bone, skeleton->size); ERR_FAIL_COND(skeleton->use_2d); - float *texture = skeleton->skel_texture.ptr(); + float *texture = skeleton->skel_texture.ptrw(); int base_ofs = ((p_bone / 256) * 256) * 3 * 4 + (p_bone % 256) * 4; @@ -4390,7 +4390,7 @@ void RasterizerStorageGLES3::skeleton_bone_set_transform_2d(RID p_skeleton, int ERR_FAIL_INDEX(p_bone, skeleton->size); ERR_FAIL_COND(!skeleton->use_2d); - float *texture = skeleton->skel_texture.ptr(); + float *texture = skeleton->skel_texture.ptrw(); int base_ofs = ((p_bone / 256) * 256) * 2 * 4 + (p_bone % 256) * 4; @@ -5632,8 +5632,8 @@ void RasterizerStorageGLES3::update_particles() { } int tc = material->textures.size(); - RID *textures = material->textures.ptr(); - ShaderLanguage::ShaderNode::Uniform::Hint *texture_hints = material->shader->texture_hints.ptr(); + RID *textures = material->textures.ptrw(); + ShaderLanguage::ShaderNode::Uniform::Hint *texture_hints = material->shader->texture_hints.ptrw(); for (int i = 0; i < tc; i++) { |
