diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/shader-node.c | 3 | ||||
-rw-r--r-- | src/shader.c | 4 | ||||
-rw-r--r-- | src/shader.h | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/src/shader-node.c b/src/shader-node.c index 3f1cce1..5ac8c47 100644 --- a/src/shader-node.c +++ b/src/shader-node.c @@ -141,8 +141,7 @@ stage_t * shader_node_new_shader(const stage_conf_t *conf, shader_t *shader, con shader_node = calloc(1, sizeof(shader_node_t)); fatal_if(!shader_node, "Unable to allocate shader_node"); - shader_ref(shader); - shader_node->shader = shader; + shader_node->shader = shader_ref(shader); shader_node->uniforms_func = uniforms_func; shader_node->uniforms_ctxt = uniforms_ctxt; shader_node->transform = transform; diff --git a/src/shader.c b/src/shader.c index e54f9d5..dde1581 100644 --- a/src/shader.c +++ b/src/shader.c @@ -101,11 +101,13 @@ shader_t * shader_pair_new(const char *vs_src, const char *fs_src, unsigned n_un } -void shader_ref(shader_t *shader) +shader_t * shader_ref(shader_t *shader) { assert(shader); shader->refcnt++; + + return shader; } diff --git a/src/shader.h b/src/shader.h index c0c5be5..04343d5 100644 --- a/src/shader.h +++ b/src/shader.h @@ -21,7 +21,7 @@ typedef struct shader_t shader_t; unsigned int shader_pair_new_bare(const char *vs_src, const char *fs_src); shader_t * shader_pair_new(const char *vs_src, const char *fs_src, unsigned n_uniforms, const char **uniforms, unsigned n_attributes, const char **attributes); -void shader_ref(shader_t *shader); +shader_t * shader_ref(shader_t *shader); shader_t * shader_free(shader_t *shader); void shader_use(shader_t *shader, unsigned *res_n_uniforms, int **res_uniforms, unsigned *res_n_attributes, int **res_attributes); |