diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-09-07 07:58:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-07 07:58:56 +0200 |
commit | 6f47f1697eae1452cb4c3d6806899e280cc8cb43 (patch) | |
tree | b7053d7697dcbe472d3c3e91fd55bff4f0cedcdf /drivers/gles3/rasterizer_canvas_gles3.cpp | |
parent | 7c99911fbd4cdaf000769485a5be850dfd9e2529 (diff) | |
parent | fea48cdfc6d434bf3b07ee08f1a466d798fc12d3 (diff) |
Merge pull request #65442 from clayjohn/GLES3-HTML5-fixes
Fix rendering when using WebGL2
Diffstat (limited to 'drivers/gles3/rasterizer_canvas_gles3.cpp')
-rw-r--r-- | drivers/gles3/rasterizer_canvas_gles3.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp index c1d203be28..8d4954136e 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.cpp +++ b/drivers/gles3/rasterizer_canvas_gles3.cpp @@ -1023,8 +1023,8 @@ void RasterizerCanvasGLES3::_bind_instance_data_buffer(uint32_t p_max_index) { glBindBufferBase(GL_UNIFORM_BUFFER, INSTANCE_UNIFORM_LOCATION, state.canvas_instance_data_buffers[state.current_buffer]); #ifdef WEB_ENABLED - //WebGL 2.0 does not support mapping buffers, so use slow glBufferData instead - glBufferData(GL_UNIFORM_BUFFER, sizeof(InstanceData) * p_max_index, state.instance_data_array, GL_DYNAMIC_DRAW); + //WebGL 2.0 does not support mapping buffers, so use slow glBufferSubData instead + glBufferSubData(GL_UNIFORM_BUFFER, 0, sizeof(InstanceData) * p_max_index, state.instance_data_array); #else void *ubo = glMapBufferRange(GL_UNIFORM_BUFFER, 0, sizeof(InstanceData) * p_max_index, GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT); memcpy(ubo, state.instance_data_array, sizeof(InstanceData) * p_max_index); |