summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2023-02-17 13:11:25 -0800
committerclayjohn <claynjohn@gmail.com>2023-02-17 13:11:25 -0800
commit5bbf5b8e720dc65cec8f38c6a9ced1e2eec84d17 (patch)
tree9e4ad07abdfecf3b4a582418c5c9a84d22f8cf1e
parent29f670b7ab28d6393b0a61d6860decc69c2dc1ec (diff)
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
-rw-r--r--drivers/gles3/rasterizer_canvas_gles3.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gles3/rasterizer_canvas_gles3.cpp b/drivers/gles3/rasterizer_canvas_gles3.cpp
index 2a524e8c3a..aadc71c5b8 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);
}
}