[Bf-blender-cvs] [75976a2] openvdb: Merge branch 'master' into openvdb
Kévin Dietrich
noreply at git.blender.org
Wed May 11 12:56:04 CEST 2016
Commit: 75976a24d7dd7e8463d477de6dd30b9a1a0edb87
Author: Kévin Dietrich
Date: Wed May 11 12:48:42 2016 +0200
Branches: openvdb
https://developer.blender.org/rB75976a24d7dd7e8463d477de6dd30b9a1a0edb87
Merge branch 'master' into openvdb
Conflicts:
intern/cycles/kernel/kernel_compat_cpu.h
intern/cycles/kernel/kernel_globals.h
intern/cycles/util/util_task.cpp
===================================================================
===================================================================
diff --cc intern/cycles/kernel/kernel_compat_cpu.h
index e51cfb1,ee8cee0..16994b4
--- a/intern/cycles/kernel/kernel_compat_cpu.h
+++ b/intern/cycles/kernel/kernel_compat_cpu.h
@@@ -474,11 -479,9 +480,11 @@@ typedef texture_image<uchar4> texture_i
#define kernel_tex_fetch_ssef(tex, index) (kg->tex.fetch_ssef(index))
#define kernel_tex_fetch_ssei(tex, index) (kg->tex.fetch_ssei(index))
#define kernel_tex_lookup(tex, t, offset, size) (kg->tex.lookup(t, offset, size))
- #define kernel_tex_image_interp(tex, x, y) ((tex < MAX_FLOAT_IMAGES) ? kg->texture_float_images[tex].interp(x, y) : kg->texture_byte_images[tex - MAX_FLOAT_IMAGES].interp(x, y))
- #define kernel_tex_image_interp_3d(tex, x, y, z) ((tex < MAX_FLOAT_IMAGES) ? kg->texture_float_images[tex].interp_3d(x, y, z) : kg->texture_byte_images[tex - MAX_FLOAT_IMAGES].interp_3d(x, y, z))
- #define kernel_tex_image_interp_3d_ex(tex, x, y, z, interpolation) ((tex < MAX_FLOAT_IMAGES) ? kg->texture_float_images[tex].interp_3d_ex(x, y, z, interpolation) : kg->texture_byte_images[tex - MAX_FLOAT_IMAGES].interp_3d_ex(x, y, z, interpolation))
+ #define kernel_tex_image_interp(tex, x, y) ((tex < TEX_NUM_FLOAT4_IMAGES_CPU) ? kg->texture_float4_images[tex].interp(x, y) : kg->texture_byte4_images[tex - TEX_NUM_FLOAT4_IMAGES_CPU].interp(x, y))
+ #define kernel_tex_image_interp_3d(tex, x, y, z) ((tex < TEX_NUM_FLOAT4_IMAGES_CPU) ? kg->texture_float4_images[tex].interp_3d(x, y, z) : kg->texture_byte4_images[tex - TEX_NUM_FLOAT4_IMAGES_CPU].interp_3d(x, y, z))
+ #define kernel_tex_image_interp_3d_ex(tex, x, y, z, interpolation) ((tex < TEX_NUM_FLOAT4_IMAGES_CPU) ? kg->texture_float4_images[tex].interp_3d_ex(x, y, z, interpolation) : kg->texture_byte4_images[tex - TEX_NUM_FLOAT4_IMAGES_CPU].interp_3d_ex(x, y, z, interpolation))
+#define kernel_tex_voxel_float(tex, x, y, z, sampling) (kg->float_volumes[tex]->sample(x, y, z, sampling))
+#define kernel_tex_voxel_float3(tex, x, y, z, sampling) (kg->float3_volumes[tex]->sample(x, y, z, sampling))
#define kernel_data (kg->__data)
diff --cc intern/cycles/kernel/kernel_globals.h
index acefb9e,b08d892..ab03aad
--- a/intern/cycles/kernel/kernel_globals.h
+++ b/intern/cycles/kernel/kernel_globals.h
@@@ -31,17 -31,10 +31,15 @@@ struct OSLThreadData
struct OSLShadingSystem;
# endif
- # define MAX_BYTE_IMAGES 1024
- # define MAX_FLOAT_IMAGES 1024
+# define MAX_VOLUME 1024
+
typedef struct KernelGlobals {
- texture_image_uchar4 texture_byte_images[MAX_BYTE_IMAGES];
- texture_image_float4 texture_float_images[MAX_FLOAT_IMAGES];
+ texture_image_uchar4 texture_byte4_images[TEX_NUM_BYTE4_IMAGES_CPU];
+ texture_image_float4 texture_float4_images[TEX_NUM_FLOAT4_IMAGES_CPU];
+ float_volume *float_volumes[MAX_VOLUME];
+ float3_volume *float3_volumes[MAX_VOLUME];
+
# define KERNEL_TEX(type, ttype, name) ttype name;
# define KERNEL_IMAGE_TEX(type, ttype, name)
# include "kernel_textures.h"
diff --cc intern/cycles/util/CMakeLists.txt
index 06085fa,cceec8d..bfe2659
--- a/intern/cycles/util/CMakeLists.txt
+++ b/intern/cycles/util/CMakeLists.txt
@@@ -77,8 -79,8 +79,9 @@@ set(SRC_HEADER
util_transform.h
util_types.h
util_vector.h
+ util_version.h
util_view.h
+ util_volume.h
util_windows.h
util_xml.h
)
diff --cc intern/cycles/util/util_task.cpp
index 71fba6d,d86aa8a..6f0100d
--- a/intern/cycles/util/util_task.cpp
+++ b/intern/cycles/util/util_task.cpp
@@@ -191,12 -201,9 +202,12 @@@ void TaskScheduler::init(int num_thread
/* launch threads that will be waiting for work */
threads.resize(num_threads);
+ threads_ids.resize(num_threads);
- for(size_t i = 0; i < threads.size(); i++)
+ for(size_t i = 0; i < threads.size(); i++) {
- threads[i] = new thread(function_bind(&TaskScheduler::thread_run, i));
+ threads[i] = new thread(function_bind(&TaskScheduler::thread_run, i + 1));
+ threads_ids.push_back(threads[i]->id());
+ }
}
users++;
More information about the Bf-blender-cvs
mailing list