[Bf-blender-cvs] [f7c0551] compositor-2016: Cleanup: Simplify and de-duplicate assignements in the ImageManager constructor.
Thomas Dinges
noreply at git.blender.org
Wed Jun 8 21:50:35 CEST 2016
Commit: f7c0551c9b0304a05097cfc810a20226b95e995b
Author: Thomas Dinges
Date: Fri May 27 23:12:13 2016 +0200
Branches: compositor-2016
https://developer.blender.org/rBf7c0551c9b0304a05097cfc810a20226b95e995b
Cleanup: Simplify and de-duplicate assignements in the ImageManager constructor.
===================================================================
M intern/cycles/render/image.cpp
===================================================================
diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp
index 2bef90d..dd90e74 100644
--- a/intern/cycles/render/image.cpp
+++ b/intern/cycles/render/image.cpp
@@ -48,52 +48,33 @@ ImageManager::ImageManager(const DeviceInfo& info)
}
/* Set image limits */
+#define SET_TEX_IMAGES_LIMITS(ARCH) \
+ { \
+ tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_ ## ARCH; \
+ tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_ ## ARCH; \
+ tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_ ## ARCH; \
+ tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_ ## ARCH; \
+ tex_image_byte4_start = TEX_START_BYTE4_ ## ARCH; \
+ tex_image_float_start = TEX_START_FLOAT_ ## ARCH; \
+ tex_image_byte_start = TEX_START_BYTE_ ## ARCH; \
+ }
- /* CPU */
if(device_type == DEVICE_CPU) {
- tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_CPU;
- tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_CPU;
- tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_CPU;
- tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_CPU;
- tex_image_byte4_start = TEX_START_BYTE4_CPU;
- tex_image_float_start = TEX_START_FLOAT_CPU;
- tex_image_byte_start = TEX_START_BYTE_CPU;
+ SET_TEX_IMAGES_LIMITS(CPU);
}
- /* CUDA */
else if(device_type == DEVICE_CUDA) {
if(info.has_bindless_textures) {
- /* Kepler and above */
- tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_CUDA_KEPLER;
- tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_CUDA_KEPLER;
- tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_CUDA_KEPLER;
- tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_CUDA_KEPLER;
- tex_image_byte4_start = TEX_START_BYTE4_CUDA_KEPLER;
- tex_image_float_start = TEX_START_FLOAT_CUDA_KEPLER;
- tex_image_byte_start = TEX_START_BYTE_CUDA_KEPLER;
+ SET_TEX_IMAGES_LIMITS(CUDA_KEPLER);
}
else {
- /* Fermi */
- tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_CUDA;
- tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_CUDA;
- tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_CUDA;
- tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_CUDA;
- tex_image_byte4_start = TEX_START_BYTE4_CUDA;
- tex_image_float_start = TEX_START_FLOAT_CUDA;
- tex_image_byte_start = TEX_START_BYTE_CUDA;
+ SET_TEX_IMAGES_LIMITS(CUDA);
}
}
- /* OpenCL */
else if(device_type == DEVICE_OPENCL) {
- tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_OPENCL;
- tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_OPENCL;
- tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_OPENCL;
- tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_OPENCL;
- tex_image_byte4_start = TEX_START_BYTE4_OPENCL;
- tex_image_float_start = TEX_START_FLOAT_OPENCL;
- tex_image_byte_start = TEX_START_BYTE_OPENCL;
+ SET_TEX_IMAGES_LIMITS(OPENCL);
}
- /* Should never happen */
else {
+ /* Should never happen */
tex_num_images[IMAGE_DATA_TYPE_BYTE4] = 0;
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = 0;
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = 0;
@@ -103,6 +84,8 @@ ImageManager::ImageManager(const DeviceInfo& info)
tex_image_byte_start = 0;
assert(0);
}
+
+#undef SET_TEX_IMAGES_LIMITS
}
ImageManager::~ImageManager()
More information about the Bf-blender-cvs
mailing list