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:
authorTon Roosendaal <ton@blender.org>2010-11-28 21:34:16 +0300
committerTon Roosendaal <ton@blender.org>2010-11-28 21:34:16 +0300
commitd01054da0f569581d5802f3184fd330568c24774 (patch)
tree6b00467af1eaedde8df255c3727f21204dfd3aa6 /source/blender/nodes/intern/CMP_nodes/CMP_texture.c
parent510920a299478cdd50ce8ce4ff43d14eb4e2c2e4 (diff)
Bugfix #24933
Compositor: Texture node only allowed 1 user, with more nodes using it there was a thread conflict, using same memory for writing values. Also: brought back the original intention for texture nodes, which is to be using a "procedural image", not allocating memory for a buffer, but only allowing to read per pixel. Commit in 2007 (!) allocated full buffers for texture nodes, without using them even.
Diffstat (limited to 'source/blender/nodes/intern/CMP_nodes/CMP_texture.c')
-rw-r--r--source/blender/nodes/intern/CMP_nodes/CMP_texture.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_texture.c b/source/blender/nodes/intern/CMP_nodes/CMP_texture.c
index f990fa452cb..7ddd8b96ae2 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_texture.c
+++ b/source/blender/nodes/intern/CMP_nodes/CMP_texture.c
@@ -79,7 +79,7 @@ static void texture_procedural(CompBuf *cbuf, float *out, float xco, float yco)
else {
VECCOPY(col, nor);
}
-
+
typecheck_compbuf_color(out, col, cbuf->type, cbuf->procedural_type);
}
@@ -110,7 +110,7 @@ static void node_composit_exec_texture(void *data, bNode *node, bNodeStack **in,
free_compbuf(prevbuf);
if(out[0]->hasoutput) {
- CompBuf *stackbuf= alloc_compbuf(sizex, sizey, CB_VAL, 1); /* alloc */
+ CompBuf *stackbuf= alloc_compbuf(sizex, sizey, CB_VAL, 0); /* no buffer alloc */
stackbuf->rect_procedural= texture_procedural;
stackbuf->node= node;
@@ -121,7 +121,7 @@ static void node_composit_exec_texture(void *data, bNode *node, bNodeStack **in,
out[0]->data= stackbuf;
}
if(out[1]->hasoutput) {
- CompBuf *stackbuf= alloc_compbuf(sizex, sizey, CB_RGBA, 1); /* alloc */
+ CompBuf *stackbuf= alloc_compbuf(sizex, sizey, CB_RGBA, 0); /* no buffer alloc */
stackbuf->rect_procedural= texture_procedural;
stackbuf->node= node;