diff options
Diffstat (limited to 'intern/cycles/kernel/geom/geom_patch.h')
-rw-r--r-- | intern/cycles/kernel/geom/geom_patch.h | 68 |
1 files changed, 38 insertions, 30 deletions
diff --git a/intern/cycles/kernel/geom/geom_patch.h b/intern/cycles/kernel/geom/geom_patch.h index ce0fc15f196..b54eafd6220 100644 --- a/intern/cycles/kernel/geom/geom_patch.h +++ b/intern/cycles/kernel/geom/geom_patch.h @@ -32,7 +32,9 @@ typedef struct PatchHandle { int array_index, patch_index, vert_index; } PatchHandle; -ccl_device_inline int patch_map_resolve_quadrant(float median, float *u, float *v) +ccl_device_inline int patch_map_resolve_quadrant(float median, + ccl_private float *u, + ccl_private float *v) { int quadrant = -1; @@ -62,7 +64,7 @@ ccl_device_inline int patch_map_resolve_quadrant(float median, float *u, float * /* retrieve PatchHandle from patch coords */ ccl_device_inline PatchHandle -patch_map_find_patch(const KernelGlobals *kg, int object, int patch, float u, float v) +patch_map_find_patch(ccl_global const KernelGlobals *kg, int object, int patch, float u, float v) { PatchHandle handle; @@ -108,7 +110,9 @@ patch_map_find_patch(const KernelGlobals *kg, int object, int patch, float u, fl return handle; } -ccl_device_inline void patch_eval_bspline_weights(float t, float *point, float *deriv) +ccl_device_inline void patch_eval_bspline_weights(float t, + ccl_private float *point, + ccl_private float *deriv) { /* The four uniform cubic B-Spline basis functions evaluated at t */ float inv_6 = 1.0f / 6.0f; @@ -128,7 +132,9 @@ ccl_device_inline void patch_eval_bspline_weights(float t, float *point, float * deriv[3] = 0.5f * t2; } -ccl_device_inline void patch_eval_adjust_boundary_weights(uint bits, float *s, float *t) +ccl_device_inline void patch_eval_adjust_boundary_weights(uint bits, + ccl_private float *s, + ccl_private float *t) { int boundary = ((bits >> 8) & 0xf); @@ -175,7 +181,9 @@ ccl_device_inline float patch_eval_param_fraction(uint patch_bits) } } -ccl_device_inline void patch_eval_normalize_coords(uint patch_bits, float *u, float *v) +ccl_device_inline void patch_eval_normalize_coords(uint patch_bits, + ccl_private float *u, + ccl_private float *v) { float frac = patch_eval_param_fraction(patch_bits); @@ -193,8 +201,8 @@ ccl_device_inline void patch_eval_normalize_coords(uint patch_bits, float *u, fl /* retrieve patch control indices */ -ccl_device_inline int patch_eval_indices(const KernelGlobals *kg, - const PatchHandle *handle, +ccl_device_inline int patch_eval_indices(ccl_global const KernelGlobals *kg, + ccl_private const PatchHandle *handle, int channel, int indices[PATCH_MAX_CONTROL_VERTS]) { @@ -210,8 +218,8 @@ ccl_device_inline int patch_eval_indices(const KernelGlobals *kg, /* evaluate patch basis functions */ -ccl_device_inline void patch_eval_basis(const KernelGlobals *kg, - const PatchHandle *handle, +ccl_device_inline void patch_eval_basis(ccl_global const KernelGlobals *kg, + ccl_private const PatchHandle *handle, float u, float v, float weights[PATCH_MAX_CONTROL_VERTS], @@ -249,7 +257,7 @@ ccl_device_inline void patch_eval_basis(const KernelGlobals *kg, /* generic function for evaluating indices and weights from patch coords */ -ccl_device_inline int patch_eval_control_verts(const KernelGlobals *kg, +ccl_device_inline int patch_eval_control_verts(ccl_global const KernelGlobals *kg, int object, int patch, float u, @@ -271,15 +279,15 @@ ccl_device_inline int patch_eval_control_verts(const KernelGlobals *kg, /* functions for evaluating attributes on patches */ -ccl_device float patch_eval_float(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device float patch_eval_float(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, int offset, int patch, float u, float v, int channel, - float *du, - float *dv) + ccl_private float *du, + ccl_private float *dv) { int indices[PATCH_MAX_CONTROL_VERTS]; float weights[PATCH_MAX_CONTROL_VERTS]; @@ -308,15 +316,15 @@ ccl_device float patch_eval_float(const KernelGlobals *kg, return val; } -ccl_device float2 patch_eval_float2(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device float2 patch_eval_float2(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, int offset, int patch, float u, float v, int channel, - float2 *du, - float2 *dv) + ccl_private float2 *du, + ccl_private float2 *dv) { int indices[PATCH_MAX_CONTROL_VERTS]; float weights[PATCH_MAX_CONTROL_VERTS]; @@ -345,15 +353,15 @@ ccl_device float2 patch_eval_float2(const KernelGlobals *kg, return val; } -ccl_device float3 patch_eval_float3(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device float3 patch_eval_float3(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, int offset, int patch, float u, float v, int channel, - float3 *du, - float3 *dv) + ccl_private float3 *du, + ccl_private float3 *dv) { int indices[PATCH_MAX_CONTROL_VERTS]; float weights[PATCH_MAX_CONTROL_VERTS]; @@ -382,15 +390,15 @@ ccl_device float3 patch_eval_float3(const KernelGlobals *kg, return val; } -ccl_device float4 patch_eval_float4(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device float4 patch_eval_float4(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, int offset, int patch, float u, float v, int channel, - float4 *du, - float4 *dv) + ccl_private float4 *du, + ccl_private float4 *dv) { int indices[PATCH_MAX_CONTROL_VERTS]; float weights[PATCH_MAX_CONTROL_VERTS]; @@ -419,15 +427,15 @@ ccl_device float4 patch_eval_float4(const KernelGlobals *kg, return val; } -ccl_device float4 patch_eval_uchar4(const KernelGlobals *kg, - const ShaderData *sd, +ccl_device float4 patch_eval_uchar4(ccl_global const KernelGlobals *kg, + ccl_private const ShaderData *sd, int offset, int patch, float u, float v, int channel, - float4 *du, - float4 *dv) + ccl_private float4 *du, + ccl_private float4 *dv) { int indices[PATCH_MAX_CONTROL_VERTS]; float weights[PATCH_MAX_CONTROL_VERTS]; |