|
@@ -2473,7 +2473,7 @@ void RasterizerStorageGLES3::_update_material(Material *material) {
|
|
|
|
|
|
glGenBuffers(1, &material->ubo_id);
|
|
|
glBindBuffer(GL_UNIFORM_BUFFER, material->ubo_id);
|
|
|
- glBufferData(GL_UNIFORM_BUFFER, material->shader->ubo_size, NULL, GL_DYNAMIC_DRAW);
|
|
|
+ glBufferData(GL_UNIFORM_BUFFER, material->shader->ubo_size, NULL, GL_STATIC_DRAW);
|
|
|
glBindBuffer(GL_UNIFORM_BUFFER, 0);
|
|
|
material->ubo_size = material->shader->ubo_size;
|
|
|
}
|
|
@@ -3768,7 +3768,7 @@ void RasterizerStorageGLES3::multimesh_allocate(RID p_multimesh, int p_instances
|
|
|
|
|
|
glGenBuffers(1, &multimesh->buffer);
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, multimesh->buffer);
|
|
|
- glBufferData(GL_ARRAY_BUFFER, multimesh->data.size() * sizeof(float), NULL, GL_DYNAMIC_DRAW);
|
|
|
+ glBufferData(GL_ARRAY_BUFFER, multimesh->data.size() * sizeof(float), NULL, GL_STATIC_DRAW);
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, 0);
|
|
|
}
|
|
|
|
|
@@ -5215,7 +5215,7 @@ void RasterizerStorageGLES3::particles_set_amount(RID p_particles, int p_amount)
|
|
|
glBindVertexArray(particles->particle_vaos[i]);
|
|
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, particles->particle_buffers[i]);
|
|
|
- glBufferData(GL_ARRAY_BUFFER, floats * sizeof(float), data, GL_DYNAMIC_DRAW);
|
|
|
+ glBufferData(GL_ARRAY_BUFFER, floats * sizeof(float), data, GL_STATIC_DRAW);
|
|
|
|
|
|
for (int i = 0; i < 6; i++) {
|
|
|
glEnableVertexAttribArray(i);
|
|
@@ -6198,7 +6198,7 @@ void RasterizerStorageGLES3::_render_target_allocate(RenderTarget *rt) {
|
|
|
rt->buffers.effects_active = true;
|
|
|
}
|
|
|
|
|
|
- if (!rt->flags[RENDER_TARGET_NO_SAMPLING]) {
|
|
|
+ if (!rt->flags[RENDER_TARGET_NO_SAMPLING] && rt->width >= 2 && rt->height >= 2) {
|
|
|
|
|
|
for (int i = 0; i < 2; i++) {
|
|
|
|
|
@@ -6511,7 +6511,7 @@ void RasterizerStorageGLES3::canvas_light_occluder_set_polylines(RID p_occluder,
|
|
|
if (!co->vertex_id) {
|
|
|
glGenBuffers(1, &co->vertex_id);
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, co->vertex_id);
|
|
|
- glBufferData(GL_ARRAY_BUFFER, lc * 6 * sizeof(real_t), vw.ptr(), GL_DYNAMIC_DRAW);
|
|
|
+ glBufferData(GL_ARRAY_BUFFER, lc * 6 * sizeof(real_t), vw.ptr(), GL_STATIC_DRAW);
|
|
|
} else {
|
|
|
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, co->vertex_id);
|