diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-06-03 11:28:10 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-06-03 12:02:56 +0300 |
commit | 55f8758b8757bc5af7d3aaae0436d8730e0342ba (patch) | |
tree | 45a08f55714f6bc22356934490c7a46db6027bf9 /source/blender/gpu | |
parent | 59bfcd8c5d50b889af8a34d20d6dd9588a12a5d1 (diff) |
GPUImmediate: Fix array uniform not working
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/intern/gpu_immediate.c | 30 |
1 files changed, 4 insertions, 26 deletions
diff --git a/source/blender/gpu/intern/gpu_immediate.c b/source/blender/gpu/intern/gpu_immediate.c index a26b315e7e5..b4cc432dd36 100644 --- a/source/blender/gpu/intern/gpu_immediate.c +++ b/source/blender/gpu/intern/gpu_immediate.c @@ -809,20 +809,9 @@ void immUniform3fv(const char *name, const float data[3]) /* can increase this limit or move to another file */ #define MAX_UNIFORM_NAME_LEN 60 -void immUniformArray3fv(const char *bare_name, const float *data, int count) +/* Note array index is not supported for name (i.e: "array[0]"). */ +void immUniformArray3fv(const char *name, const float *data, int count) { - /* look up "name[0]" when given "name" */ - const size_t len = strlen(bare_name); -#if TRUST_NO_ONE - assert(len <= MAX_UNIFORM_NAME_LEN); -#endif - char name[MAX_UNIFORM_NAME_LEN]; - strcpy(name, bare_name); - name[len + 0] = '['; - name[len + 1] = '0'; - name[len + 2] = ']'; - name[len + 3] = '\0'; - GET_UNIFORM glUniform3fv(uniform->location, count, data); } @@ -839,20 +828,9 @@ void immUniform4fv(const char *name, const float data[4]) glUniform4fv(uniform->location, 1, data); } -void immUniformArray4fv(const char *bare_name, const float *data, int count) +/* Note array index is not supported for name (i.e: "array[0]"). */ +void immUniformArray4fv(const char *name, const float *data, int count) { - /* look up "name[0]" when given "name" */ - const size_t len = strlen(bare_name); -#if TRUST_NO_ONE - assert(len <= MAX_UNIFORM_NAME_LEN); -#endif - char name[MAX_UNIFORM_NAME_LEN]; - strcpy(name, bare_name); - name[len + 0] = '['; - name[len + 1] = '0'; - name[len + 2] = ']'; - name[len + 3] = '\0'; - GET_UNIFORM glUniform4fv(uniform->location, count, data); } |