Cycles: Split kernel SSS & Volume data definitions cleanup
This commit is contained in:
parent
b9fda4480f
commit
8b97e42eca
@ -31,14 +31,6 @@ ccl_device_inline uint64_t split_data_buffer_size(KernelGlobals *kg, size_t num_
|
||||
size = size SPLIT_DATA_ENTRIES;
|
||||
#undef SPLIT_DATA_ENTRY
|
||||
|
||||
#ifdef __SUBSURFACE__
|
||||
size += align_up(num_elements * sizeof(SubsurfaceIndirectRays), 16); /* ss_rays */
|
||||
#endif
|
||||
|
||||
#ifdef __VOLUME__
|
||||
size += align_up(2 * num_elements * sizeof(PathState), 16); /* state_shadow */
|
||||
#endif
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
@ -57,16 +49,6 @@ ccl_device_inline void split_data_init(KernelGlobals *kg,
|
||||
SPLIT_DATA_ENTRIES;
|
||||
#undef SPLIT_DATA_ENTRY
|
||||
|
||||
#ifdef __SUBSURFACE__
|
||||
split_data->ss_rays = (ccl_global SubsurfaceIndirectRays*)p;
|
||||
p += align_up(num_elements * sizeof(SubsurfaceIndirectRays), 16);
|
||||
#endif
|
||||
|
||||
#ifdef __VOLUME__
|
||||
split_data->state_shadow = (ccl_global PathState*)p;
|
||||
p += align_up(2 * num_elements * sizeof(PathState), 16);
|
||||
#endif
|
||||
|
||||
split_data->ray_state = ray_state;
|
||||
}
|
||||
|
||||
|
@ -103,6 +103,20 @@ typedef ccl_global struct SplitBranchedState {
|
||||
#define SPLIT_DATA_BRANCHED_ENTRIES
|
||||
#endif /* __BRANCHED_PATH__ */
|
||||
|
||||
#ifdef __SUBSURFACE__
|
||||
# define SPLIT_DATA_SUBSURFACE_ENTRIES \
|
||||
SPLIT_DATA_ENTRY(ccl_global SubsurfaceIndirectRays, ss_rays, 1)
|
||||
#else
|
||||
# define SPLIT_DATA_SUBSURFACE_ENTRIES
|
||||
#endif /* __SUBSURFACE__ */
|
||||
|
||||
#ifdef __VOLUME__
|
||||
# define SPLIT_DATA_VOLUME_ENTRIES \
|
||||
SPLIT_DATA_ENTRY(ccl_global PathState, state_shadow, 1)
|
||||
#else
|
||||
# define SPLIT_DATA_VOLUME_ENTRIES
|
||||
#endif /* __VOLUME__ */
|
||||
|
||||
#define SPLIT_DATA_ENTRIES \
|
||||
SPLIT_DATA_ENTRY(ccl_global RNG, rng, 1) \
|
||||
SPLIT_DATA_ENTRY(ccl_global float3, throughput, 1) \
|
||||
@ -118,6 +132,8 @@ typedef ccl_global struct SplitBranchedState {
|
||||
SPLIT_DATA_ENTRY(ccl_global uint, work_array, 1) \
|
||||
SPLIT_DATA_ENTRY(ShaderData, sd, 1) \
|
||||
SPLIT_DATA_ENTRY(ShaderData, sd_DL_shadow, 1) \
|
||||
SPLIT_DATA_SUBSURFACE_ENTRIES \
|
||||
SPLIT_DATA_VOLUME_ENTRIES \
|
||||
SPLIT_DATA_BRANCHED_ENTRIES \
|
||||
SPLIT_DATA_DEBUG_ENTRIES \
|
||||
|
||||
@ -127,14 +143,6 @@ typedef struct SplitData {
|
||||
SPLIT_DATA_ENTRIES
|
||||
#undef SPLIT_DATA_ENTRY
|
||||
|
||||
#ifdef __SUBSURFACE__
|
||||
ccl_global SubsurfaceIndirectRays *ss_rays;
|
||||
#endif
|
||||
|
||||
#ifdef __VOLUME__
|
||||
ccl_global PathState *state_shadow;
|
||||
#endif
|
||||
|
||||
/* this is actually in a separate buffer from the rest of the split state data (so it can be read back from
|
||||
* the host easily) but is still used the same as the other data so we have it here in this struct as well
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user