[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