[Bf-blender-cvs] [3577060] cycles_split_kernel: Merge branch 'master' into cycles_split_kernel

Mai Lavelle noreply at git.blender.org
Sun Nov 20 20:10:42 CET 2016


Commit: 357706073b40a190beb160283d4a19be3023fe24
Author: Mai Lavelle
Date:   Sun Nov 20 12:53:40 2016 -0500
Branches: cycles_split_kernel
https://developer.blender.org/rB357706073b40a190beb160283d4a19be3023fe24

Merge branch 'master' into cycles_split_kernel

===================================================================



===================================================================

diff --cc intern/cycles/util/util_atomic.h
index 49264f2,433e41f..1a0e614
--- a/intern/cycles/util/util_atomic.h
+++ b/intern/cycles/util/util_atomic.h
@@@ -32,13 -32,6 +32,13 @@@ ATOMIC_INLINE void atomic_update_max_z(
  	}
  }
  
- #define atomic_add_float(p, x) atomic_add_fl((p), (x))
++#define atomic_add_and_fetch_float(p, x) atomic_add_and_fetch_fl((p), (x))
 +
 +#define atomic_fetch_and_inc_uint32(p) atomic_fetch_and_add_uint32((p), 1)
 +
 +#define CCL_LOCAL_MEM_FENCE 0
 +#define ccl_barrier(flags) (void)0
 +
  #else  /* __KERNEL_GPU__ */
  
  #ifdef __KERNEL_OPENCL__
@@@ -46,7 -39,7 +46,7 @@@
  /* Float atomics implementation credits:
   *   http://suhorukov.blogspot.in/2011/12/opencl-11-atomic-operations-on-floating.html
   */
- ccl_device_inline void atomic_add_float(volatile ccl_global float *source,
 -ccl_device_inline void atomic_add_and_fetch_float(volatile ccl_global float *source,
++ccl_device_inline float atomic_add_and_fetch_float(volatile ccl_global float *source,
                                          const float operand)
  {
  	union {
@@@ -63,14 -56,8 +63,15 @@@
  	} while(atomic_cmpxchg((volatile ccl_global unsigned int *)source,
  	                       prev_value.int_value,
  	                       new_value.int_value) != prev_value.int_value);
++	return new_value.float_value;
  }
  
 +#define atomic_fetch_and_add_uint32(p, x) atomic_add((p), (x))
 +#define atomic_fetch_and_inc_uint32(p) atomic_inc((p))
 +
 +#define CCL_LOCAL_MEM_FENCE CLK_LOCAL_MEM_FENCE
 +#define ccl_barrier(flags) barrier(flags)
 +
  #endif  /* __KERNEL_OPENCL__ */
  
  #endif  /* __KERNEL_GPU__ */




More information about the Bf-blender-cvs mailing list