From 5bbf5b8e720dc65cec8f38c6a9ced1e2eec84d17 Mon Sep 17 00:00:00 2001 From: clayjohn Date: Fri, 17 Feb 2023 13:11:25 -0800 Subject: [PATCH] Avoid unecessary binding of occlusion polygon vertex array By binding this and unbinding it, the state was getting modified in other parts of the pipeline --- drivers/gles3/rasterizer_canvas_gles3.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp index 2a524e8c3a82..aadc71c5b83b 100644 --- a/drivers/gles3/rasterizer_canvas_gles3.cpp +++ b/drivers/gles3/rasterizer_canvas_gles3.cpp @@ -1951,11 +1951,12 @@ void RasterizerCanvasGLES3::occluder_polygon_set_shape(RID p_occluder, const Vec glBufferData(GL_ELEMENT_ARRAY_BUFFER, 3 * lc * sizeof(uint16_t), indices.ptr(), GL_STATIC_DRAW); glBindVertexArray(0); } else { - glBindVertexArray(oc->vertex_array); glBindBuffer(GL_ARRAY_BUFFER, oc->vertex_buffer); glBufferData(GL_ARRAY_BUFFER, lc * 6 * sizeof(float), geometry.ptr(), GL_STATIC_DRAW); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, oc->index_buffer); glBufferData(GL_ELEMENT_ARRAY_BUFFER, 3 * lc * sizeof(uint16_t), indices.ptr(), GL_STATIC_DRAW); + glBindBuffer(GL_ARRAY_BUFFER, 0); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); } }