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-04 14:43:28 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-06-04 15:17:06 +0300
commit7534bbfa344f47700a04e2a8c4dcdcd0310ea9f2 (patch)
treeac60a91026e937ffe90eb6a4a2def97ca765a069 /source/blender/gpu/intern/gpu_shader.c
parent1438c1cfd55e5d3bda7c558d62378f8dda1f2ef1 (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.c9
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)