Cycles: Remove few function arguments needed only for the split kernel

Use KernelGlobals to access all the global arrays for the intermediate
storage instead of passing all this storage things explicitly.

Tested here with Intel OpenCL, NVIDIA GTX580 and AMD Fiji, didn't see
any artifacts, so guess it's all good.

Reviewers: juicyfruit, dingto, lukasstockner97

Differential Revision: https://developer.blender.org/D1736
This commit is contained in:
2016-01-14 19:58:22 +05:00
parent 53ef03d20f
commit e2161ca854
14 changed files with 62 additions and 87 deletions

View File

@@ -145,6 +145,7 @@ ccl_device void kernel_data_init(
PathRadiance *PathRadiance_coop, /* PathRadiance array to store PathRadiance values for all rays */
ccl_global Ray *Ray_coop, /* Ray array to store Ray information for all rays */
ccl_global PathState *PathState_coop, /* PathState array to store PathState information for all rays */
Intersection *Intersection_coop_shadow,
ccl_global char *ray_state, /* Stores information on current state of a ray */
#define KERNEL_TEX(type, ttype, name) \
@@ -170,6 +171,8 @@ ccl_device void kernel_data_init(
int parallel_samples) /* Number of samples to be processed in parallel */
{
kg->data = data;
kg->sd_input = sd_DL_shadow;
kg->isect_shadow = Intersection_coop_shadow;
#define KERNEL_TEX(type, ttype, name) \
kg->name = name;
#include "../kernel_textures.h"