[Bf-blender-cvs] [c9ef5971b6f] cycles_refactor: Cycles: Added static asserts to make sure new kernel structures are properly aligned

Stefan Werner noreply at git.blender.org
Thu Feb 1 13:59:33 CET 2018


Commit: c9ef5971b6fe3aebe53de3e83899dbd5d1e9f6a2
Author: Stefan Werner
Date:   Thu Feb 1 13:59:28 2018 +0100
Branches: cycles_refactor
https://developer.blender.org/rBc9ef5971b6fe3aebe53de3e83899dbd5d1e9f6a2

Cycles: Added static asserts to make sure new kernel structures are properly aligned

===================================================================

M	intern/cycles/kernel/kernel_types.h

===================================================================

diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h
index de0c335c6c2..c21e20c9970 100644
--- a/intern/cycles/kernel/kernel_types.h
+++ b/intern/cycles/kernel/kernel_types.h
@@ -1539,6 +1539,7 @@ typedef struct KernelObject
 	uint attribute_map_offset;
 	float pad2, pad3;
 } KernelObject;
+static_assert_align(KernelObject, 16);
 
 typedef struct KernelSpotLight
 {
@@ -1583,7 +1584,7 @@ typedef struct KernelLight
 		KernelDistantLight distant;
 	};
 } KernelLight;
-
+static_assert_align(KernelLight, 16);
 
 typedef struct KernelLightDistribution
 {
@@ -1600,6 +1601,7 @@ typedef struct KernelLightDistribution
 		} lamp;
 	};
 } KernelLightDistribution;
+static_assert_align(KernelLightDistribution, 16);
 
 typedef struct KernelParticle
 {
@@ -1614,13 +1616,17 @@ typedef struct KernelParticle
 	float4 velocity;
 	float4 angular_velocity;
 } KernelParticle;
+static_assert_align(KernelParticle, 16);
 
 typedef struct KernelShaderFlags
 {
+	float constant_emission[3];
+	float pad1;
 	int flags;
 	int pass_id;
-	float constant_emission[3];
+	int pad2, pad3;
 } KernelShaderFlags;
+static_assert_align(KernelShaderFlags, 16);
 
 CCL_NAMESPACE_END



More information about the Bf-blender-cvs mailing list