diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-06-04 14:43:28 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-06-04 15:17:06 +0300 |
commit | 7534bbfa344f47700a04e2a8c4dcdcd0310ea9f2 (patch) | |
tree | ac60a91026e937ffe90eb6a4a2def97ca765a069 /source/blender/gpu/intern/gpu_shader.c | |
parent | 1438c1cfd55e5d3bda7c558d62378f8dda1f2ef1 (diff) |
GPUShaderInterface: Add Builtin Uniform blocks query
This makes the query of theses mandatory uniforms faster.
Diffstat (limited to 'source/blender/gpu/intern/gpu_shader.c')
-rw-r--r-- | source/blender/gpu/intern/gpu_shader.c | 9 |
1 files changed, 8 insertions, 1 deletions
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) |