From 048f70e7c2c3059e4c046d702d90331fabebf2cf Mon Sep 17 00:00:00 2001 From: Omar Emara Date: Wed, 13 Dec 2023 12:52:49 +0200 Subject: [PATCH] GPU: Add function for setting float array uniforms --- source/blender/gpu/GPU_shader.h | 1 + source/blender/gpu/intern/gpu_shader.cc | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/source/blender/gpu/GPU_shader.h b/source/blender/gpu/GPU_shader.h index f39e2ce850b..9f853e2a952 100644 --- a/source/blender/gpu/GPU_shader.h +++ b/source/blender/gpu/GPU_shader.h @@ -152,6 +152,7 @@ void GPU_shader_uniform_4fv(GPUShader *sh, const char *name, const float data[4] void GPU_shader_uniform_2iv(GPUShader *sh, const char *name, const int data[2]); void GPU_shader_uniform_mat4(GPUShader *sh, const char *name, const float data[4][4]); void GPU_shader_uniform_mat3_as_mat4(GPUShader *sh, const char *name, const float data[3][3]); +void GPU_shader_uniform_1f_array(GPUShader *sh, const char *name, int len, const float *val); void GPU_shader_uniform_2fv_array(GPUShader *sh, const char *name, int len, const float (*val)[2]); void GPU_shader_uniform_4fv_array(GPUShader *sh, const char *name, int len, const float (*val)[4]); diff --git a/source/blender/gpu/intern/gpu_shader.cc b/source/blender/gpu/intern/gpu_shader.cc index a62286cb8b7..3c220d9133f 100644 --- a/source/blender/gpu/intern/gpu_shader.cc +++ b/source/blender/gpu/intern/gpu_shader.cc @@ -736,6 +736,12 @@ void GPU_shader_uniform_mat3_as_mat4(GPUShader *sh, const char *name, const floa GPU_shader_uniform_mat4(sh, name, matrix); } +void GPU_shader_uniform_1f_array(GPUShader *sh, const char *name, int len, const float *val) +{ + const int loc = GPU_shader_get_uniform(sh, name); + GPU_shader_uniform_float_ex(sh, loc, 1, len, val); +} + void GPU_shader_uniform_2fv_array(GPUShader *sh, const char *name, int len, const float (*val)[2]) { const int loc = GPU_shader_get_uniform(sh, name);