[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42077] branches/bmesh/blender: svn merge ^/trunk/blender -r42069:42076
Campbell Barton
ideasman42 at gmail.com
Tue Nov 22 19:15:09 CET 2011
Revision: 42077
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42077
Author: campbellbarton
Date: 2011-11-22 18:15:08 +0000 (Tue, 22 Nov 2011)
Log Message:
-----------
svn merge ^/trunk/blender -r42069:42076
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42069
Modified Paths:
--------------
branches/bmesh/blender/intern/cycles/device/device_opencl.cpp
branches/bmesh/blender/intern/cycles/kernel/kernel.cl
branches/bmesh/blender/intern/cycles/render/filter.cpp
branches/bmesh/blender/intern/cycles/util/util_path.cpp
branches/bmesh/blender/intern/cycles/util/util_path.h
branches/bmesh/blender/release/scripts/startup/bl_ui/properties_render.py
branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d_toolbar.py
branches/bmesh/blender/source/blender/blenkernel/intern/ocean.c
branches/bmesh/blender/source/blender/editors/include/UI_interface.h
branches/bmesh/blender/source/blender/editors/interface/interface.c
branches/bmesh/blender/source/blender/editors/interface/interface_handlers.c
branches/bmesh/blender/source/blender/editors/space_image/image_buttons.c
branches/bmesh/blender/source/blender/editors/space_node/drawnode.c
branches/bmesh/blender/source/blender/editors/space_node/node_draw.c
branches/bmesh/blender/source/blender/makesrna/intern/rna_ui_api.c
branches/bmesh/blender/source/blender/modifiers/intern/MOD_ocean.c
Property Changed:
----------------
branches/bmesh/blender/
branches/bmesh/blender/release/
branches/bmesh/blender/source/blender/editors/space_outliner/
Property changes on: branches/bmesh/blender
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/blender:39992-42069
+ /trunk/blender:39992-42076
Modified: branches/bmesh/blender/intern/cycles/device/device_opencl.cpp
===================================================================
--- branches/bmesh/blender/intern/cycles/device/device_opencl.cpp 2011-11-22 18:03:33 UTC (rev 42076)
+++ branches/bmesh/blender/intern/cycles/device/device_opencl.cpp 2011-11-22 18:15:08 UTC (rev 42077)
@@ -278,10 +278,7 @@
bool build_kernel(const string& kernel_path)
{
- string build_options = "";
-
- build_options += "-I " + kernel_path + ""; /* todo: escape path, but it doesn't get parsed correct? */
- build_options += kernel_build_options();
+ string build_options = kernel_build_options();
ciErr = clBuildProgram(cpProgram, 0, NULL, build_options.c_str(), NULL, NULL);
@@ -312,6 +309,8 @@
kernel caches do not seem to recognize changes in included files.
so we force recompile on changes by adding the md5 hash of all files */
string source = "#include \"kernel.cl\" // " + kernel_md5 + "\n";
+ source = path_source_replace_includes(source, kernel_path);
+
size_t source_len = source.size();
const char *source_str = source.c_str();
Modified: branches/bmesh/blender/intern/cycles/kernel/kernel.cl
===================================================================
--- branches/bmesh/blender/intern/cycles/kernel/kernel.cl 2011-11-22 18:03:33 UTC (rev 42076)
+++ branches/bmesh/blender/intern/cycles/kernel/kernel.cl 2011-11-22 18:15:08 UTC (rev 42077)
@@ -25,7 +25,6 @@
#include "kernel_film.h"
#include "kernel_path.h"
-//#include "kernel_displace.h"
__kernel void kernel_ocl_path_trace(
__constant KernelData *data,
Modified: branches/bmesh/blender/intern/cycles/render/filter.cpp
===================================================================
--- branches/bmesh/blender/intern/cycles/render/filter.cpp 2011-11-22 18:03:33 UTC (rev 42076)
+++ branches/bmesh/blender/intern/cycles/render/filter.cpp 2011-11-22 18:15:08 UTC (rev 42077)
@@ -53,7 +53,7 @@
static vector<float> filter_table(FilterType type, float width)
{
- const int filter_table_size = FILTER_TABLE_SIZE;
+ const int filter_table_size = FILTER_TABLE_SIZE-1;
vector<float> filter_table_cdf(filter_table_size+1);
vector<float> filter_table(filter_table_size+1);
float (*filter_func)(float, float) = NULL;
Modified: branches/bmesh/blender/intern/cycles/util/util_path.cpp
===================================================================
--- branches/bmesh/blender/intern/cycles/util/util_path.cpp 2011-11-22 18:03:33 UTC (rev 42076)
+++ branches/bmesh/blender/intern/cycles/util/util_path.cpp 2011-11-22 18:15:08 UTC (rev 42077)
@@ -162,5 +162,46 @@
return true;
}
+static bool path_read_text(const string& path, string& text)
+{
+ vector<uint8_t> binary;
+
+ if(!path_exists(path) || !path_read_binary(path, binary))
+ return false;
+
+ const char *str = (const char*)&binary[0];
+ size_t size = binary.size();
+ text = string(str, size);
+
+ return true;
+}
+
+string path_source_replace_includes(const string& source_, const string& path)
+{
+ /* our own little c preprocessor that replaces #includes with the file
+ contents, to work around issue of opencl drivers not supporting
+ include paths with spaces in them */
+ string source = source_;
+ const string include = "#include \"";
+ size_t n, pos = 0;
+
+ while((n = source.find(include, pos)) != string::npos) {
+ size_t n_start = n + include.size();
+ size_t n_end = source.find("\"", n_start);
+ string filename = source.substr(n_start, n_end - n_start);
+
+ string text, filepath = path_join(path, filename);
+
+ if(path_read_text(filepath, text)) {
+ text = path_source_replace_includes(text, path_dirname(filepath));
+ source.replace(n, n_end + 1 - n, "\n" + text + "\n");
+ }
+ else
+ pos = n_end;
+ }
+
+ return source;
+}
+
CCL_NAMESPACE_END
Modified: branches/bmesh/blender/intern/cycles/util/util_path.h
===================================================================
--- branches/bmesh/blender/intern/cycles/util/util_path.h 2011-11-22 18:03:33 UTC (rev 42076)
+++ branches/bmesh/blender/intern/cycles/util/util_path.h 2011-11-22 18:15:08 UTC (rev 42077)
@@ -46,6 +46,8 @@
bool path_write_binary(const string& path, const vector<uint8_t>& binary);
bool path_read_binary(const string& path, vector<uint8_t>& binary);
+string path_source_replace_includes(const string& source, const string& path);
+
CCL_NAMESPACE_END
#endif
Property changes on: branches/bmesh/blender/release
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/blender/release:31524-42069
+ /trunk/blender/release:31524-42076
Modified: branches/bmesh/blender/release/scripts/startup/bl_ui/properties_render.py
===================================================================
--- branches/bmesh/blender/release/scripts/startup/bl_ui/properties_render.py 2011-11-22 18:03:33 UTC (rev 42076)
+++ branches/bmesh/blender/release/scripts/startup/bl_ui/properties_render.py 2011-11-22 18:15:08 UTC (rev 42077)
@@ -456,17 +456,14 @@
file_format = rd.image_settings.file_format
layout.prop(rd, "filepath", text="")
+
+ flow = layout.column_flow()
+ flow.prop(rd, "use_overwrite")
+ flow.prop(rd, "use_placeholder")
+ flow.prop(rd, "use_file_extension")
- split = layout.split()
+ layout.template_image_settings(rd.image_settings)
- col = split.column()
- col.template_image_settings(rd.image_settings)
-
- col = split.column()
- col.prop(rd, "use_file_extension")
- col.prop(rd, "use_overwrite")
- col.prop(rd, "use_placeholder")
-
if file_format == 'QUICKTIME_CARBON':
layout.operator("scene.render_data_set_quicktime_codec")
Modified: branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d_toolbar.py
===================================================================
--- branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d_toolbar.py 2011-11-22 18:03:33 UTC (rev 42076)
+++ branches/bmesh/blender/release/scripts/startup/bl_ui/space_view3d_toolbar.py 2011-11-22 18:15:08 UTC (rev 42077)
@@ -88,7 +88,7 @@
col.operator("object.join")
active_object = context.active_object
- if active_object and active_object.type == 'MESH':
+ if active_object and active_object.type in {'MESH', 'CURVE', 'SURFACE'}:
col = layout.column(align=True)
col.label(text="Shading:")
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/ocean.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/ocean.c 2011-11-22 18:03:33 UTC (rev 42076)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/ocean.c 2011-11-22 18:15:08 UTC (rev 42077)
@@ -313,8 +313,8 @@
float uu,vv;
// first wrap the texture so 0 <= (u,v) < 1
- u = fmod(u,1.0f);
- v = fmod(v,1.0f);
+ u = fmodf(u,1.0f);
+ v = fmodf(v,1.0f);
if (u < 0) u += 1.0f;
if (v < 0) v += 1.0f;
@@ -1021,6 +1021,22 @@
BKE_makepicstring(string, cachepath, relbase, frame, R_IMF_IMTYPE_OPENEXR, 1, TRUE);
}
+/* silly functions but useful to inline when the args do a lot of indirections */
+MINLINE void rgb_to_rgba_unit_alpha(float r_rgba[4], const float rgb[3])
+{
+ r_rgba[0]= rgb[0];
+ r_rgba[1]= rgb[1];
+ r_rgba[2]= rgb[2];
+ r_rgba[3]= 1.0f;
+}
+MINLINE void value_to_rgba_unit_alpha(float r_rgba[4], const float value)
+{
+ r_rgba[0]= value;
+ r_rgba[1]= value;
+ r_rgba[2]= value;
+ r_rgba[3]= 1.0f;
+}
+
void BKE_free_ocean_cache(struct OceanCache *och)
{
int i, f=0;
@@ -1076,9 +1092,7 @@
if (och->ibufs_disp[f]) {
ibuf_sample(och->ibufs_disp[f], u, v, (1.0f/(float)res_x), (1.0f/(float)res_y), result);
- ocr->disp[0] = result[0];
- ocr->disp[1] = result[1];
- ocr->disp[2] = result[2];
+ copy_v3_v3(ocr->disp, result);
}
if (och->ibufs_foam[f]) {
@@ -1088,34 +1102,31 @@
if (och->ibufs_norm[f]) {
ibuf_sample(och->ibufs_norm[f], u, v, (1.0f/(float)res_x), (1.0f/(float)res_y), result);
- ocr->normal[0] = result[0];
- ocr->normal[1] = result[1];
- ocr->normal[2] = result[2];
+ copy_v3_v3(ocr->normal, result);
}
}
void BKE_ocean_cache_eval_ij(struct OceanCache *och, struct OceanResult *ocr, int f, int i, int j)
{
- int res_x = och->resolution_x;
- int res_y = och->resolution_y;
+ const int res_x = och->resolution_x;
+ const int res_y = och->resolution_y;
- i = abs(i) % res_x;
- j = abs(j) % res_y;
+ if (i < 0) i= -i;
+ if (j < 0) j= -j;
+ i = i % res_x;
+ j = j % res_y;
+
if (och->ibufs_disp[f]) {
- ocr->disp[0] = och->ibufs_disp[f]->rect_float[4*(res_x*j + i) + 0];
- ocr->disp[1] = och->ibufs_disp[f]->rect_float[4*(res_x*j + i) + 1];
- ocr->disp[2] = och->ibufs_disp[f]->rect_float[4*(res_x*j + i) + 2];
+ copy_v3_v3(ocr->disp, &och->ibufs_disp[f]->rect_float[4*(res_x*j + i)]);
}
if (och->ibufs_foam[f]) {
- ocr->foam = och->ibufs_foam[f]->rect_float[4*(res_x*j + i) + 0];
+ ocr->foam = och->ibufs_foam[f]->rect_float[4*(res_x*j + i)];
}
if (och->ibufs_norm[f]) {
- ocr->normal[0] = och->ibufs_norm[f]->rect_float[4*(res_x*j + i) + 0];
- ocr->normal[1] = och->ibufs_norm[f]->rect_float[4*(res_x*j + i) + 1];
- ocr->normal[2] = och->ibufs_norm[f]->rect_float[4*(res_x*j + i) + 2];
+ copy_v3_v3(ocr->normal, &och->ibufs_norm[f]->rect_float[4*(res_x*j + i)]);
}
}
@@ -1206,10 +1217,8 @@
/* setup image format */
imf.imtype= R_IMF_IMTYPE_OPENEXR;
imf.depth= R_IMF_CHAN_DEPTH_16;
- imf.exr_codec= R_IMF_EXR_CODEC_ZIP; /* ZIP */
+ imf.exr_codec= R_IMF_EXR_CODEC_ZIP;
-
-
for (f=och->start, i=0; f<=och->end; f++, i++) {
/* create a new imbuf to store image for this frame */
@@ -1228,10 +1237,7 @@
BKE_ocean_eval_ij(o, &ocr, x, y);
/* add to the image */
- ibuf_disp->rect_float[4*(res_x*y + x) + 0] = ocr.disp[0];
- ibuf_disp->rect_float[4*(res_x*y + x) + 1] = ocr.disp[1];
- ibuf_disp->rect_float[4*(res_x*y + x) + 2] = ocr.disp[2];
- ibuf_disp->rect_float[4*(res_x*y + x) + 3] = 1.0f;
+ rgb_to_rgba_unit_alpha(&ibuf_disp->rect_float[4*(res_x*y + x)], ocr.disp);
if (o->_do_jacobian) {
/* TODO, cleanup unused code - campbell */
@@ -1284,35 +1290,29 @@
prev_foam[res_x*y + x] = foam_result;
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list