summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2022-12-10 19:35:40 +0100
committerGitHub <noreply@github.com>2022-12-10 19:35:40 +0100
commit39fe0bfdc3327d2b1f651739a918daea3ba241f5 (patch)
treeec3279b4e9ae51bac4db7ba65b9e4cf4aae631d1
parent561bafe91fff234a611365d41f03df680349ac46 (diff)
parentdeb2adf4bd2258bfcef7892e3672983711eed4ab (diff)
Merge pull request #69858 from Malcolmnixon/gles3-index-array-cache
Fix for glDrawElements crash on GLES3
-rw-r--r--drivers/gles3/rasterizer_scene_gles3.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp
index 247b89658a..b75fdf5f71 100644
--- a/drivers/gles3/rasterizer_scene_gles3.cpp
+++ b/drivers/gles3/rasterizer_scene_gles3.cpp
@@ -2210,10 +2210,13 @@ void RasterizerSceneGLES3::_render_list_template(RenderListParameters *p_params,
glBindVertexArray(vertex_array_gl);
}
prev_vertex_array_gl = vertex_array_gl;
+
+ // Invalidate the previous index array
+ prev_index_array_gl = 0;
}
bool use_index_buffer = index_array_gl != 0;
- if (prev_index_array_gl != index_array_gl || prev_vertex_array_gl != vertex_array_gl) {
+ if (prev_index_array_gl != index_array_gl) {
if (index_array_gl != 0) {
// Bind index each time so we can use LODs
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, index_array_gl);