__local argument

Hi All,
can someone offer me advice on using __local as an argument

I do the following

size_t localMemBuffer = 10*sizeof(float2);

// setup parameter values
int arg = 0;
clSetKernelArg(c_kernel_ReduceBoundsFromGBuffer, arg++, sizeof(cl_mem), (void *)&c_mem_Partition);
clSetKernelArg(c_Kernel_ReduceZBoundsFromGBuffer, arg++, localMemBuffer, (void *)NULL);

__kernel void ReduceBoundsFromGBuffer(
__global __write_only LogPartition* p_PartionBounds,
__local float2 *p_BoundsMin

PartionBounds returns rubbish

If I remove the __local argment and make it a fixed local allocate in the kerne,l the PartionBounds are correct.


I have fixed my problem but am more confused as to why it works.

My memory for the partitions was 4 * 32 bytes but padding it to 4 * 48 bytes all is good!