diff options
Diffstat (limited to 'intern/cycles/kernel/geom/geom_primitive.h')
-rw-r--r-- | intern/cycles/kernel/geom/geom_primitive.h | 62 |
1 files changed, 34 insertions, 28 deletions
diff --git a/intern/cycles/kernel/geom/geom_primitive.h b/intern/cycles/kernel/geom/geom_primitive.h index ba31b12e817..869b911f76f 100644 --- a/intern/cycles/kernel/geom/geom_primitive.h +++ b/intern/cycles/kernel/geom/geom_primitive.h @@ -31,11 +31,11 @@ CCL_NAMESPACE_BEGIN * attributes for performance, mainly for GPU performance to avoid bringing in * heavy volume interpolation code. */ -ccl_device_inline float primitive_surface_attribute_float(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device_inline float primitive_surface_attribute_float(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, const AttributeDescriptor desc, - float *dx, - float *dy) + ccl_private float *dx, + ccl_private float *dy) { if (sd->type & PRIMITIVE_ALL_TRIANGLE) { if (subd_triangle_patch(kg, sd) == ~0) @@ -57,11 +57,11 @@ ccl_device_inline float primitive_surface_attribute_float(const KernelGlobals *k } } -ccl_device_inline float2 primitive_surface_attribute_float2(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device_inline float2 primitive_surface_attribute_float2(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, const AttributeDescriptor desc, - float2 *dx, - float2 *dy) + ccl_private float2 *dx, + ccl_private float2 *dy) { if (sd->type & PRIMITIVE_ALL_TRIANGLE) { if (subd_triangle_patch(kg, sd) == ~0) @@ -83,11 +83,11 @@ ccl_device_inline float2 primitive_surface_attribute_float2(const KernelGlobals } } -ccl_device_inline float3 primitive_surface_attribute_float3(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device_inline float3 primitive_surface_attribute_float3(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, const AttributeDescriptor desc, - float3 *dx, - float3 *dy) + ccl_private float3 *dx, + ccl_private float3 *dy) { if (sd->type & PRIMITIVE_ALL_TRIANGLE) { if (subd_triangle_patch(kg, sd) == ~0) @@ -109,11 +109,12 @@ ccl_device_inline float3 primitive_surface_attribute_float3(const KernelGlobals } } -ccl_device_forceinline float4 primitive_surface_attribute_float4(const KernelGlobals *kg, - const ShaderData *sd, - const AttributeDescriptor desc, - float4 *dx, - float4 *dy) +ccl_device_forceinline float4 +primitive_surface_attribute_float4(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, + const AttributeDescriptor desc, + ccl_private float4 *dx, + ccl_private float4 *dy) { if (sd->type & PRIMITIVE_ALL_TRIANGLE) { if (subd_triangle_patch(kg, sd) == ~0) @@ -142,14 +143,14 @@ ccl_device_forceinline float4 primitive_surface_attribute_float4(const KernelGlo * attributes for performance, mainly for GPU performance to avoid bringing in * heavy volume interpolation code. */ -ccl_device_inline bool primitive_is_volume_attribute(const ShaderData *sd, +ccl_device_inline bool primitive_is_volume_attribute(ccl_private const ShaderData *sd, const AttributeDescriptor desc) { return sd->type == PRIMITIVE_VOLUME; } -ccl_device_inline float primitive_volume_attribute_float(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device_inline float primitive_volume_attribute_float(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, const AttributeDescriptor desc) { if (primitive_is_volume_attribute(sd, desc)) { @@ -160,8 +161,8 @@ ccl_device_inline float primitive_volume_attribute_float(const KernelGlobals *kg } } -ccl_device_inline float3 primitive_volume_attribute_float3(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device_inline float3 primitive_volume_attribute_float3(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, const AttributeDescriptor desc) { if (primitive_is_volume_attribute(sd, desc)) { @@ -172,8 +173,8 @@ ccl_device_inline float3 primitive_volume_attribute_float3(const KernelGlobals * } } -ccl_device_inline float4 primitive_volume_attribute_float4(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device_inline float4 primitive_volume_attribute_float4(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, const AttributeDescriptor desc) { if (primitive_is_volume_attribute(sd, desc)) { @@ -187,7 +188,8 @@ ccl_device_inline float4 primitive_volume_attribute_float4(const KernelGlobals * /* Default UV coordinate */ -ccl_device_inline float3 primitive_uv(const KernelGlobals *kg, const ShaderData *sd) +ccl_device_inline float3 primitive_uv(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd) { const AttributeDescriptor desc = find_attribute(kg, sd, ATTR_STD_UV); @@ -200,7 +202,10 @@ ccl_device_inline float3 primitive_uv(const KernelGlobals *kg, const ShaderData /* Ptex coordinates */ -ccl_device bool primitive_ptex(const KernelGlobals *kg, ShaderData *sd, float2 *uv, int *face_id) +ccl_device bool primitive_ptex(ccl_global const KernelGlobals *kg, + ccl_private ShaderData *sd, + ccl_private float2 *uv, + ccl_private int *face_id) { /* storing ptex data as attributes is not memory efficient but simple for tests */ const AttributeDescriptor desc_face_id = find_attribute(kg, sd, ATTR_STD_PTEX_FACE_ID); @@ -220,7 +225,7 @@ ccl_device bool primitive_ptex(const KernelGlobals *kg, ShaderData *sd, float2 * /* Surface tangent */ -ccl_device float3 primitive_tangent(const KernelGlobals *kg, ShaderData *sd) +ccl_device float3 primitive_tangent(ccl_global const KernelGlobals *kg, ccl_private ShaderData *sd) { #ifdef __HAIR__ if (sd->type & PRIMITIVE_ALL_CURVE) @@ -252,7 +257,8 @@ ccl_device float3 primitive_tangent(const KernelGlobals *kg, ShaderData *sd) /* Motion vector for motion pass */ -ccl_device_inline float4 primitive_motion_vector(const KernelGlobals *kg, const ShaderData *sd) +ccl_device_inline float4 primitive_motion_vector(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd) { /* center position */ float3 center; |