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
path: root/intern
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2017-11-13 16:48:48 +0300
committerDalai Felinto <dfelinto@gmail.com>2017-11-13 16:48:48 +0300
commit1cb6cea71c10c0d22ba9cdd3eee5111d0734c193 (patch)
tree1cbd74c668006be134692e883ceef7286db3a368 /intern
parentf30a2a786214c4ef08612486c227add0bb6bf35b (diff)
parent8a03e4d409ec71beab612facf432eb57f3bc5f34 (diff)
Merge remote-tracking branch 'origin/master' into blender2.8
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/CMakeLists.txt4
-rw-r--r--intern/cycles/app/cycles_xml.cpp2
-rw-r--r--intern/cycles/device/device_cuda.cpp6
-rw-r--r--intern/cycles/device/device_split_kernel.cpp1
-rw-r--r--intern/cycles/render/image.cpp6
-rw-r--r--intern/cycles/util/util_xml.h15
6 files changed, 27 insertions, 7 deletions
diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt
index 5844c2480d6..dbf1bcece16 100644
--- a/intern/cycles/CMakeLists.txt
+++ b/intern/cycles/CMakeLists.txt
@@ -209,6 +209,10 @@ if(WITH_CYCLES_DEBUG)
add_definitions(-DWITH_CYCLES_DEBUG)
endif()
+if(NOT OPENIMAGEIO_PUGIXML_FOUND)
+ add_definitions(-DWITH_SYSTEM_PUGIXML)
+endif()
+
include_directories(
SYSTEM
${BOOST_INCLUDE_DIR}
diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp
index 3a1c7205c34..f2db9271a89 100644
--- a/intern/cycles/app/cycles_xml.cpp
+++ b/intern/cycles/app/cycles_xml.cpp
@@ -358,7 +358,7 @@ static void xml_read_shader(XMLReadState& state, xml_node node)
/* Background */
-static void xml_read_background(XMLReadState& state, pugi::xml_node node)
+static void xml_read_background(XMLReadState& state, xml_node node)
{
/* Background Settings */
xml_read_node(state, state.scene->background, node);
diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp
index e602cba00b8..35b451c7a9c 100644
--- a/intern/cycles/device/device_cuda.cpp
+++ b/intern/cycles/device/device_cuda.cpp
@@ -908,7 +908,7 @@ public:
cmem->texobject = 0;
cmem->array = array_3d;
}
- else if(mem.data_height > 1) {
+ else if(mem.data_height > 0) {
/* 2D texture, using pitch aligned linear memory. */
int alignment = 0;
cuda_assert(cuDeviceGetAttribute(&alignment, CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT, cuDevice));
@@ -962,7 +962,7 @@ public:
resDesc.res.array.hArray = array_3d;
resDesc.flags = 0;
}
- else if(mem.data_height > 1) {
+ else if(mem.data_height > 0) {
resDesc.resType = CU_RESOURCE_TYPE_PITCH2D;
resDesc.res.pitch2D.devPtr = mem.device_pointer;
resDesc.res.pitch2D.format = format;
@@ -1012,7 +1012,7 @@ public:
if(array_3d) {
cuda_assert(cuTexRefSetArray(texref, array_3d, CU_TRSA_OVERRIDE_FORMAT));
}
- else if(mem.data_height > 1) {
+ else if(mem.data_height > 0) {
CUDA_ARRAY_DESCRIPTOR array_desc;
array_desc.Format = format;
array_desc.Height = mem.data_height;
diff --git a/intern/cycles/device/device_split_kernel.cpp b/intern/cycles/device/device_split_kernel.cpp
index 566d4020b33..74135a1f3c8 100644
--- a/intern/cycles/device/device_split_kernel.cpp
+++ b/intern/cycles/device/device_split_kernel.cpp
@@ -91,6 +91,7 @@ bool DeviceSplitKernel::load_kernels(const DeviceRequestedFeatures& requested_fe
#define LOAD_KERNEL(name) \
kernel_##name = get_split_kernel_function(#name, requested_features); \
if(!kernel_##name) { \
+ device->set_error(string("Split kernel error: failed to load kernel_") + #name); \
return false; \
}
diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp
index 9358b40a689..482442cce29 100644
--- a/intern/cycles/render/image.cpp
+++ b/intern/cycles/render/image.cpp
@@ -723,6 +723,7 @@ void ImageManager::device_load_image(Device *device,
*tex_img))
{
/* on failure to load, we set a 1x1 pixels pink image */
+ thread_scoped_lock device_lock(device_mutex);
float *pixels = (float*)tex_img->alloc(1, 1);
pixels[0] = TEX_IMAGE_MISSING_R;
@@ -748,6 +749,7 @@ void ImageManager::device_load_image(Device *device,
*tex_img))
{
/* on failure to load, we set a 1x1 pixels pink image */
+ thread_scoped_lock device_lock(device_mutex);
float *pixels = (float*)tex_img->alloc(1, 1);
pixels[0] = TEX_IMAGE_MISSING_R;
@@ -770,6 +772,7 @@ void ImageManager::device_load_image(Device *device,
*tex_img))
{
/* on failure to load, we set a 1x1 pixels pink image */
+ thread_scoped_lock device_lock(device_mutex);
uchar *pixels = (uchar*)tex_img->alloc(1, 1);
pixels[0] = (TEX_IMAGE_MISSING_R * 255);
@@ -794,6 +797,7 @@ void ImageManager::device_load_image(Device *device,
texture_limit,
*tex_img)) {
/* on failure to load, we set a 1x1 pixels pink image */
+ thread_scoped_lock device_lock(device_mutex);
uchar *pixels = (uchar*)tex_img->alloc(1, 1);
pixels[0] = (TEX_IMAGE_MISSING_R * 255);
@@ -815,6 +819,7 @@ void ImageManager::device_load_image(Device *device,
texture_limit,
*tex_img)) {
/* on failure to load, we set a 1x1 pixels pink image */
+ thread_scoped_lock device_lock(device_mutex);
half *pixels = (half*)tex_img->alloc(1, 1);
pixels[0] = TEX_IMAGE_MISSING_R;
@@ -839,6 +844,7 @@ void ImageManager::device_load_image(Device *device,
texture_limit,
*tex_img)) {
/* on failure to load, we set a 1x1 pixels pink image */
+ thread_scoped_lock device_lock(device_mutex);
half *pixels = (half*)tex_img->alloc(1, 1);
pixels[0] = TEX_IMAGE_MISSING_R;
diff --git a/intern/cycles/util/util_xml.h b/intern/cycles/util/util_xml.h
index e1a28df9433..6f06f17937b 100644
--- a/intern/cycles/util/util_xml.h
+++ b/intern/cycles/util/util_xml.h
@@ -23,10 +23,19 @@
CCL_NAMESPACE_BEGIN
-using OIIO_NAMESPACE::pugi::xml_node;
-using OIIO_NAMESPACE::pugi::xml_attribute;
+OIIO_NAMESPACE_USING
+
+#ifdef WITH_SYSTEM_PUGIXML
+# define PUGIXML_NAMESPACE pugi
+#else
+# define PUGIXML_NAMESPACE OIIO_NAMESPACE::pugi
+#endif
+
+using PUGIXML_NAMESPACE::xml_attribute;
+using PUGIXML_NAMESPACE::xml_document;
+using PUGIXML_NAMESPACE::xml_node;
+using PUGIXML_NAMESPACE::xml_parse_result;
CCL_NAMESPACE_END
#endif /* __UTIL_XML_H__ */
-