Cycles: Workaround for compilation error caused by passing KernelGlobals

Pass globals as a bare pointer, same as it sued to be prior to split kernel rework.

AMD CPU platform and Intel OpenCL were complaining about this.

Perhaps we shouldn't pass globals as pointer at all, this isn't something what is
really portable and can cause issues on 32 bit perhaps.
This commit is contained in:
Sergey Sharybin 2017-03-08 12:49:04 +01:00
parent 26620f3f87
commit 1ff753baa4
17 changed files with 35 additions and 35 deletions

@ -19,8 +19,8 @@
#include "split/kernel_buffer_update.h"
__kernel void kernel_ocl_path_trace_buffer_update(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_buffer_update(kg);
kernel_buffer_update((KernelGlobals*)kg);
}

@ -19,7 +19,7 @@
#include "split/kernel_data_init.h"
__kernel void kernel_ocl_path_trace_data_init(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data,
ccl_global void *split_data_buffer,
int num_elements,
@ -40,7 +40,7 @@ __kernel void kernel_ocl_path_trace_data_init(
unsigned int num_samples, /* Total number of samples per pixel */
ccl_global float *buffer)
{
kernel_data_init(kg,
kernel_data_init((KernelGlobals*)kg,
data,
split_data_buffer,
num_elements,

@ -19,8 +19,8 @@
#include "split/kernel_direct_lighting.h"
__kernel void kernel_ocl_path_trace_direct_lighting(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_direct_lighting(kg);
kernel_direct_lighting((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_do_volume.h"
__kernel void kernel_ocl_path_trace_do_volume(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_do_volume(kg);
kernel_do_volume((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_holdout_emission_blurring_pathtermination_ao.h"
__kernel void kernel_ocl_path_trace_holdout_emission_blurring_pathtermination_ao(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_holdout_emission_blurring_pathtermination_ao(kg);
kernel_holdout_emission_blurring_pathtermination_ao((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_indirect_background.h"
__kernel void kernel_ocl_path_trace_indirect_background(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_indirect_background(kg);
kernel_indirect_background((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_indirect_subsurface.h"
__kernel void kernel_ocl_path_trace_indirect_subsurface(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_indirect_subsurface(kg);
kernel_indirect_subsurface((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_lamp_emission.h"
__kernel void kernel_ocl_path_trace_lamp_emission(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_lamp_emission(kg);
kernel_lamp_emission((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_next_iteration_setup.h"
__kernel void kernel_ocl_path_trace_next_iteration_setup(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_next_iteration_setup(kg);
kernel_next_iteration_setup((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_path_init.h"
__kernel void kernel_ocl_path_trace_path_init(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_path_init(kg);
kernel_path_init((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_queue_enqueue.h"
__kernel void kernel_ocl_path_trace_queue_enqueue(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_queue_enqueue(kg);
kernel_queue_enqueue((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_scene_intersect.h"
__kernel void kernel_ocl_path_trace_scene_intersect(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_scene_intersect(kg);
kernel_scene_intersect((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_shader_eval.h"
__kernel void kernel_ocl_path_trace_shader_eval(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_shader_eval(kg);
kernel_shader_eval((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_shadow_blocked_ao.h"
__kernel void kernel_ocl_path_trace_shadow_blocked_ao(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_shadow_blocked_ao(kg);
kernel_shadow_blocked_ao((KernelGlobals*)kg);
}

@ -19,8 +19,8 @@
#include "split/kernel_shadow_blocked_dl.h"
__kernel void kernel_ocl_path_trace_shadow_blocked_dl(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_shadow_blocked_dl(kg);
kernel_shadow_blocked_dl((KernelGlobals*)kg);
}

@ -18,12 +18,12 @@
#include "split/kernel_split_common.h"
__kernel void kernel_ocl_path_trace_state_buffer_size(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data,
uint num_threads,
ccl_global uint64_t *size)
{
kg->data = data;
*size = split_data_buffer_size(kg, num_threads);
((KernelGlobals*)kg)->data = data;
*size = split_data_buffer_size((KernelGlobals*)kg, num_threads);
}

@ -19,8 +19,8 @@
#include "split/kernel_subsurface_scatter.h"
__kernel void kernel_ocl_path_trace_subsurface_scatter(
KernelGlobals *kg,
ccl_global char *kg,
ccl_constant KernelData *data)
{
kernel_subsurface_scatter(kg);
kernel_subsurface_scatter((KernelGlobals*)kg);
}