summaryrefslogtreecommitdiffstats
path: root/drivers/gles3/storage/particles_storage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gles3/storage/particles_storage.cpp')
-rw-r--r--drivers/gles3/storage/particles_storage.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gles3/storage/particles_storage.cpp b/drivers/gles3/storage/particles_storage.cpp
index 4d563ab28b..b72b4eaf8d 100644
--- a/drivers/gles3/storage/particles_storage.cpp
+++ b/drivers/gles3/storage/particles_storage.cpp
@@ -728,8 +728,10 @@ void ParticlesStorage::_particles_process(Particles *p_particles, double p_delta
ParticlesShaderGLES3::ShaderVariant variant = ParticlesShaderGLES3::MODE_DEFAULT;
uint32_t specialization = 0;
- for (uint32_t i = 0; i < p_particles->userdata_count; i++) {
- specialization |= (1 << i);
+ for (uint32_t i = 0; i < PARTICLES_MAX_USERDATAS; i++) {
+ if (m->shader_data->userdatas_used[i]) {
+ specialization |= ParticlesShaderGLES3::USERDATA1_USED << i;
+ }
}
if (p_particles->mode == RS::ParticlesMode::PARTICLES_MODE_3D) {