Skip to content

Commit

Permalink
Merge pull request #34794 from clayjohn/GLES2-trimesh-crash
Browse files Browse the repository at this point in the history
Fix crash on trimesh_create
  • Loading branch information
akien-mga authored Jan 3, 2020
2 parents db1a015 + 906b5e7 commit 94658de
Showing 1 changed file with 2 additions and 14 deletions.
16 changes: 2 additions & 14 deletions drivers/gles2/rasterizer_storage_gles2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2435,22 +2435,10 @@ void RasterizerStorageGLES2::mesh_add_surface(RID p_mesh, uint32_t p_format, VS:
if (surface->blend_shape_data.size()) {
ERR_PRINT_ONCE("Blend shapes are not supported in OpenGL ES 2.0");
}
surface->data = array;
surface->index_data = p_index_array;
#else
// Even on non-tools builds, a copy of the surface->data is needed in certain circumstances.
// Rigged meshes using the USE_SKELETON_SOFTWARE path need to read bone data
// from surface->data.

// if USE_SKELETON_SOFTWARE is active
if (config.use_skeleton_software) {
// if this geometry is used specifically for skinning
if (p_format & (VS::ARRAY_FORMAT_BONES | VS::ARRAY_FORMAT_WEIGHTS))
surface->data = array;
}
// An alternative is to always make a copy of surface->data.
#endif

surface->data = array;
surface->index_data = p_index_array;
surface->total_data_size += surface->array_byte_size + surface->index_array_byte_size;

for (int i = 0; i < surface->skeleton_bone_used.size(); i++) {
Expand Down

0 comments on commit 94658de

Please sign in to comment.