[Bf-blender-cvs] [0ca34d4] cycles_kernel_split: Cycles kernel split: Avoid unnecessary structure reshuffle
Sergey Sharybin
noreply at git.blender.org
Fri May 8 12:41:34 CEST 2015
Commit: 0ca34d492519396ed27457aa31c0ccb2c720dc38
Author: Sergey Sharybin
Date: Fri May 8 15:40:58 2015 +0500
Branches: cycles_kernel_split
https://developer.blender.org/rB0ca34d492519396ed27457aa31c0ccb2c720dc38
Cycles kernel split: Avoid unnecessary structure reshuffle
Saves 12 bytes per shader data actually.
===================================================================
M intern/cycles/kernel/kernel_shaderdata_vars.h
M intern/cycles/kernel/kernel_types.h
===================================================================
diff --git a/intern/cycles/kernel/kernel_shaderdata_vars.h b/intern/cycles/kernel/kernel_shaderdata_vars.h
index 29cf2a3..a79f0a8 100644
--- a/intern/cycles/kernel/kernel_shaderdata_vars.h
+++ b/intern/cycles/kernel/kernel_shaderdata_vars.h
@@ -53,6 +53,15 @@ SD_VAR(int, object)
/* motion blur sample time */
SD_VAR(float, time)
+/* length of the ray being shaded */
+SD_VAR(float, ray_length)
+
+/* ray bounce depth */
+SD_VAR(int, ray_depth)
+
+/* ray transparent depth */
+SD_VAR(int, transparent_depth)
+
#ifdef __RAY_DIFFERENTIALS__
/* differential of P. these are orthogonal to Ng, not N */
SD_VAR(differential3, dP)
@@ -76,28 +85,14 @@ SD_VAR(Transform, ob_tfm)
SD_VAR(Transform, ob_itfm)
#endif
-/* ray start position, only set for backgrounds */
-SD_VAR(float3, ray_P)
-SD_VAR(differential3, ray_dP)
-
/* Closure data, we store a fixed array of closures */
SD_CLOSURE_VAR(ShaderClosure, closure, MAX_CLOSURE)
-
SD_VAR(int, num_closure)
SD_VAR(float, randb_closure)
-/* length of the ray being shaded */
-SD_VAR(float, ray_length)
-
-/* ray bounce depth */
-SD_VAR(int, ray_depth)
-
-/* ray transparent depth */
-SD_VAR(int, transparent_depth)
-
-SD_VAR(int, pad1)
-SD_VAR(int, pad2)
-SD_VAR(int, pad3)
+/* ray start position, only set for backgrounds */
+SD_VAR(float3, ray_P)
+SD_VAR(differential3, ray_dP)
#ifdef __OSL__
SD_VAR(struct KernelGlobals *, osl_globals)
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h
index 35b33ce..09c1f80 100644
--- a/intern/cycles/kernel/kernel_types.h
+++ b/intern/cycles/kernel/kernel_types.h
@@ -458,10 +458,11 @@ typedef struct differential {
/* Ray */
typedef struct Ray {
- float t; /* length of the ray */
- float time; /* time (for motion blur) */
float3 P; /* origin */
float3 D; /* direction */
+
+ float t; /* length of the ray */
+ float time; /* time (for motion blur) */
#ifdef __RAY_DIFFERENTIALS__
differential3 dP;
differential3 dD;
More information about the Bf-blender-cvs
mailing list