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:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-10-11 16:15:02 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-10-11 16:22:01 +0300
commit8a1afc28db8274feafce42f752374e623b416790 (patch)
treef591cd7dfad765dfa8e811bea72a8a7bafcef6c1 /intern
parent9b247bdf6127652f59eca4924eafe8e610082c09 (diff)
Cycles: Increase number of textures allowed for OpenCL render
Currently OpenCL devices are packing images into a single texture, which means technically number of textures is not limited here. Now OpenCL will use same number of textures as CPU. If we want to bump number of textures further, this values are to be modified in sync. NOTE OpenCL still does not support float textures. Original patch from a guy called bliblubli in the tracker with some own modifications. Reviewers: brecht, dingto, sergey Differential Revision: https://developer.blender.org/D1530
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/render/image.cpp3
-rw-r--r--intern/cycles/render/image.h7
2 files changed, 10 insertions, 0 deletions
diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp
index 7bceb8a8bfa..7a846e1dd46 100644
--- a/intern/cycles/render/image.cpp
+++ b/intern/cycles/render/image.cpp
@@ -69,6 +69,9 @@ void ImageManager::set_extended_image_limits(const DeviceInfo& info)
else if((info.type == DEVICE_CUDA || info.type == DEVICE_MULTI) && info.extended_images) {
tex_num_images = TEX_EXTENDED_NUM_IMAGES_GPU;
}
+ else if(info.pack_images) {
+ tex_num_images = TEX_PACKED_NUM_IMAGES;
+ }
}
bool ImageManager::set_animation_frame_update(int frame)
diff --git a/intern/cycles/render/image.h b/intern/cycles/render/image.h
index bcc58ae951b..c79c152afde 100644
--- a/intern/cycles/render/image.h
+++ b/intern/cycles/render/image.h
@@ -40,6 +40,13 @@ CCL_NAMESPACE_BEGIN
#define TEX_EXTENDED_NUM_IMAGES_CPU 1024
#define TEX_EXTENDED_IMAGE_BYTE_START TEX_EXTENDED_NUM_FLOAT_IMAGES
+/* Limitations for packed images.
+ *
+ * Technically number of textures is unlimited, but it should in
+ * fact be in sync with CPU limitations.
+ */
+#define TEX_PACKED_NUM_IMAGES 1024
+
/* color to use when textures are not found */
#define TEX_IMAGE_MISSING_R 1
#define TEX_IMAGE_MISSING_G 0