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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-05-20 16:26:01 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-05-20 16:26:01 +0400
commit63d4bafff57392ffd81d686a7ccdd4fbdf863c97 (patch)
tree9210c3c675d79bdbe80747f98e544dd2e0251a73 /intern/cycles/kernel/svm/svm_image.h
parent2e66cb520c5e41b83665119a9787e9839ce7c2b3 (diff)
Cycles: some steps to getting OpenCL backend to compile.
Diffstat (limited to 'intern/cycles/kernel/svm/svm_image.h')
-rw-r--r--intern/cycles/kernel/svm/svm_image.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/intern/cycles/kernel/svm/svm_image.h b/intern/cycles/kernel/svm/svm_image.h
index 88f0b582442..586e35c6465 100644
--- a/intern/cycles/kernel/svm/svm_image.h
+++ b/intern/cycles/kernel/svm/svm_image.h
@@ -31,6 +31,9 @@ __device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y)
also note that cuda has 128 textures limit, we use 100 now, since
we still need some for other storage */
+#ifdef __KERNEL_OPENCL__
+ r = make_float4(0.0f, 0.0f, 0.0f, 0.0f); /* todo */
+#else
switch(id) {
case 0: r = kernel_tex_image_interp(__tex_image_000, x, y); break;
case 1: r = kernel_tex_image_interp(__tex_image_001, x, y); break;
@@ -136,6 +139,7 @@ __device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y)
kernel_assert(0);
return make_float4(0.0f, 0.0f, 0.0f, 0.0f);
}
+#endif
return r;
}
@@ -151,8 +155,11 @@ __device void svm_node_tex_image(KernelGlobals *kg, ShaderData *sd, float *stack
float4 f = svm_image_texture(kg, id, co.x, co.y);
float3 r = make_float3(f.x, f.y, f.z);
- if(srgb)
- r = color_srgb_to_scene_linear(r);
+ if(srgb) {
+ r.x = color_srgb_to_scene_linear(r.x);
+ r.y = color_srgb_to_scene_linear(r.y);
+ r.z = color_srgb_to_scene_linear(r.z);
+ }
stack_store_float3(stack, out_offset, r);
}
@@ -170,8 +177,11 @@ __device void svm_node_tex_environment(KernelGlobals *kg, ShaderData *sd, float
float4 f = svm_image_texture(kg, id, u, v);
float3 r = make_float3(f.x, f.y, f.z);
- if(srgb)
- r = color_srgb_to_scene_linear(r);
+ if(srgb) {
+ r.x = color_srgb_to_scene_linear(r.x);
+ r.y = color_srgb_to_scene_linear(r.y);
+ r.z = color_srgb_to_scene_linear(r.z);
+ }
stack_store_float3(stack, out_offset, r);
}