From 7534bbfa344f47700a04e2a8c4dcdcd0310ea9f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Thu, 4 Jun 2020 13:43:28 +0200 Subject: GPUShaderInterface: Add Builtin Uniform blocks query This makes the query of theses mandatory uniforms faster. --- source/blender/gpu/intern/gpu_shader.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'source/blender/gpu/intern/gpu_shader.c') diff --git a/source/blender/gpu/intern/gpu_shader.c b/source/blender/gpu/intern/gpu_shader.c index 66f98461047..651410cf333 100644 --- a/source/blender/gpu/intern/gpu_shader.c +++ b/source/blender/gpu/intern/gpu_shader.c @@ -736,7 +736,14 @@ int GPU_shader_get_builtin_uniform(GPUShader *shader, int builtin) { BLI_assert(shader && shader->program); const GPUShaderInput *uniform = GPU_shaderinterface_uniform_builtin(shader->interface, builtin); - return uniform ? uniform->location : -1; + return uniform->location; +} + +int GPU_shader_get_builtin_block(GPUShader *shader, int builtin) +{ + BLI_assert(shader && shader->program); + const GPUShaderInput *uniform = GPU_shaderinterface_block_builtin(shader->interface, builtin); + return uniform->binding; } int GPU_shader_get_uniform_block(GPUShader *shader, const char *name) -- cgit v1.2.3