Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-06-02 13:23:11 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-06-02 17:46:38 +0300
commit38cfcdd51bd26dfb0e181a8023f32d784144490e (patch)
treea1f28eb6fd484d2e0624f717e761601977a295ee /source/blender/draw/intern/draw_manager_data.c
parentcb59ef10320e9db95548d9f1586ed7ee7ebafc78 (diff)
DRW: Remove defered uniform creation
Diffstat (limited to 'source/blender/draw/intern/draw_manager_data.c')
-rw-r--r--source/blender/draw/intern/draw_manager_data.c25
1 files changed, 2 insertions, 23 deletions
diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c
index aa401bcffa5..e7a74734f19 100644
--- a/source/blender/draw/intern/draw_manager_data.c
+++ b/source/blender/draw/intern/draw_manager_data.c
@@ -232,7 +232,7 @@ static void drw_shgroup_uniform(DRWShadingGroup *shgroup,
location = GPU_shader_get_uniform_block(shgroup->shader, name);
}
else {
- location = GPU_shader_get_uniform(shgroup->shader, name);
+ location = GPU_shader_get_uniform_ensure(shgroup->shader, name);
}
if (location == -1) {
@@ -244,28 +244,7 @@ static void drw_shgroup_uniform(DRWShadingGroup *shgroup,
BLI_assert(arraysize > 0 && arraysize <= 16);
BLI_assert(length >= 0 && length <= 16);
- DRWUniform *uni = drw_shgroup_uniform_create_ex(
- shgroup, location, type, value, length, arraysize);
-
- /* If location is -2, the uniform has not yet been queried.
- * We save the name for query just before drawing. */
- if (location == -2 || DRW_DEBUG_USE_UNIFORM_NAME) {
- int ofs = DST.uniform_names.buffer_ofs;
- int max_len = DST.uniform_names.buffer_len - ofs;
- size_t len = strlen(name) + 1;
-
- if (len >= max_len) {
- DST.uniform_names.buffer_len += MAX2(DST.uniform_names.buffer_len, len);
- DST.uniform_names.buffer = MEM_reallocN(DST.uniform_names.buffer,
- DST.uniform_names.buffer_len);
- }
-
- char *dst = DST.uniform_names.buffer + ofs;
- memcpy(dst, name, len); /* Copies NULL terminator. */
-
- DST.uniform_names.buffer_ofs += len;
- uni->name_ofs = ofs;
- }
+ drw_shgroup_uniform_create_ex(shgroup, location, type, value, length, arraysize);
}
void DRW_shgroup_uniform_texture(DRWShadingGroup *shgroup, const char *name, const GPUTexture *tex)