Merge branch 'master' into blender2.8
authorBastien Montagne <montagne29@wanadoo.fr>
Mon, 17 Sep 2018 17:40:39 +0000 (19:40 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Mon, 17 Sep 2018 17:40:39 +0000 (19:40 +0200)
build_files/build_environment/cmake/options.cmake
build_files/build_environment/install_deps.sh
intern/cycles/util/util_avxb.h
intern/cycles/util/util_sseb.h
source/blender/editors/interface/interface_eyedropper_datablock.c

index 7bf971208ae5ab16794325f8d51b7dc43fe4a83d..f3125551972b822ca214c784a2528da47cac9586 100644 (file)
@@ -143,7 +143,7 @@ else()
                set(PLATFORM_CXXFLAGS "-std=c++11 -fPIC")
                set(PLATFORM_LDFLAGS)
                set(PLATFORM_BUILD_TARGET)
-               set(PLATFORM_CMAKE_FLAGS)
+               set(PLATFORM_CMAKE_FLAGS -DCMAKE_INSTALL_LIBDIR=lib)
        endif()
 
        if(WITH_OPTIMIZED_DEBUG)
index 6c59b1df31d4b1d6a63c1987ca677dc067ddab35..47ef93527af17a07a39155362ef05a5c13550e8e 100755 (executable)
@@ -743,9 +743,10 @@ OCIO_SOURCE=( "https://github.com/imageworks/OpenColorIO/archive/v$OCIO_VERSION.
 #~ OCIO_SOURCE_REPO_UID="6de971097c7f552300f669ed69ca0b6cf5a70843"
 
 OPENEXR_USE_REPO=false
-OPENEXR_SOURCE=( "https://github.com/openexr/openexr/releases/download/v$OPENEXR_VERSION/openexr-$OPENEXR_VERSION.tar.gz" )
+#~ OPENEXR_SOURCE=( "https://github.com/openexr/openexr/releases/download/v$OPENEXR_VERSION/openexr-$OPENEXR_VERSION.tar.gz" )
+OPENEXR_SOURCE_REPO_UID="0ac2ea34c8f3134148a5df4052e40f155b76f6fb"
+OPENEXR_SOURCE=( "https://github.com/openexr/openexr/archive/$OPENEXR_SOURCE_REPO_UID.tar.gz" )
 #~ OPENEXR_SOURCE_REPO=( "https://github.com/mont29/openexr.git" )
-#~ OPENEXR_SOURCE_REPO_UID="2787aa1cf652d244ed45ae124eb1553f6cff11ee"
 ILMBASE_SOURCE=( "https://github.com/openexr/openexr/releases/download/v$ILMBASE_VERSION/ilmbase-$ILMBASE_VERSION.tar.gz" )
 
 OIIO_USE_REPO=false
index 60d9bb442566c3a1aba690c2f96155a746c2b2ca..b6d77857c6fecdd04e55022e49067a2941a8d524 100644 (file)
@@ -44,17 +44,6 @@ struct avxb
        __forceinline operator const __m256i( void ) const { return _mm256_castps_si256(m256); }
        __forceinline operator const __m256d( void ) const { return _mm256_castps_pd(m256); }
 
-       //__forceinline avxb           ( bool  a )
-       //      : m256(_mm_lookupmask_ps[(size_t(a) << 3) | (size_t(a) << 2) | (size_t(a) << 1) | size_t(a)]) {}
-       //__forceinline avxb           ( bool  a, bool  b)
-       //      : m256(_mm_lookupmask_ps[(size_t(b) << 3) | (size_t(a) << 2) | (size_t(b) << 1) | size_t(a)]) {}
-       //__forceinline avxb           ( bool  a, bool  b, bool  c, bool  d)
-       //      : m256(_mm_lookupmask_ps[(size_t(d) << 3) | (size_t(c) << 2) | (size_t(b) << 1) | size_t(a)]) {}
-       //__forceinline avxb(int mask) {
-       //      assert(mask >= 0 && mask < 16);
-       //      m128 = _mm_lookupmask_ps[mask];
-       //}
-
        ////////////////////////////////////////////////////////////////////////////////
        /// Constants
        ////////////////////////////////////////////////////////////////////////////////
@@ -114,47 +103,6 @@ __forceinline const avxb select( const avxb& m, const avxb& t, const avxb& f ) {
 __forceinline const avxb unpacklo( const avxb& a, const avxb& b ) { return _mm256_unpacklo_ps(a, b); }
 __forceinline const avxb unpackhi( const avxb& a, const avxb& b ) { return _mm256_unpackhi_ps(a, b); }
 
-#define _MM256_SHUFFLE(fp7,fp6,fp5,fp4,fp3,fp2,fp1,fp0) (((fp7) << 14) | ((fp6) << 12) | ((fp5) << 10) | ((fp4) << 8) | \
-                                                      ((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | ((fp0)))
-
-template<size_t i0, size_t i1, size_t i2, size_t i3, size_t i4, size_t i5, size_t i6, size_t i7>
-__forceinline const avxb shuffle( const avxb& a ) {
-       return _mm256_cvtepi32_ps(_mm256_shuffle_epi32(a, _MM256_SHUFFLE(i7, i6, i5, i4, i3, i2, i1, i0)));
-}
-
-/*
-template<> __forceinline const avxb shuffle<0, 1, 0, 1, 0, 1, 0, 1>( const avxb& a ) {
-       return _mm_movelh_ps(a, a);
-}
-
-template<> __forceinline const sseb shuffle<2, 3, 2, 3>( const sseb& a ) {
-       return _mm_movehl_ps(a, a);
-}
-
-template<size_t i0, size_t i1, size_t i2, size_t i3> __forceinline const sseb shuffle( const sseb& a, const sseb& b ) {
-       return _mm_shuffle_ps(a, b, _MM_SHUFFLE(i3, i2, i1, i0));
-}
-
-template<> __forceinline const sseb shuffle<0, 1, 0, 1>( const sseb& a, const sseb& b ) {
-       return _mm_movelh_ps(a, b);
-}
-
-template<> __forceinline const sseb shuffle<2, 3, 2, 3>( const sseb& a, const sseb& b ) {
-       return _mm_movehl_ps(b, a);
-}
-
-#if defined(__KERNEL_SSE3__)
-template<> __forceinline const sseb shuffle<0, 0, 2, 2>( const sseb& a ) { return _mm_moveldup_ps(a); }
-template<> __forceinline const sseb shuffle<1, 1, 3, 3>( const sseb& a ) { return _mm_movehdup_ps(a); }
-#endif
-
-#if defined(__KERNEL_SSE41__)
-template<size_t dst, size_t src, size_t clr> __forceinline const sseb insert( const sseb& a, const sseb& b ) { return _mm_insert_ps(a, b, (dst << 4) | (src << 6) | clr); }
-template<size_t dst, size_t src> __forceinline const sseb insert( const sseb& a, const sseb& b ) { return insert<dst, src, 0>(a, b); }
-template<size_t dst>             __forceinline const sseb insert( const sseb& a, const bool b ) { return insert<dst,0>(a, sseb(b)); }
-#endif
-*/
-
 ////////////////////////////////////////////////////////////////////////////////
 /// Reduction Operations
 ////////////////////////////////////////////////////////////////////////////////
@@ -180,7 +128,7 @@ __forceinline size_t movemask( const avxb& a ) { return _mm256_movemask_ps(a); }
 
 ccl_device_inline void print_avxb(const char *label, const avxb &a)
 {
-       printf("%s: %df %df %df %df %df %df %df %d\n",
+       printf("%s: %d %d %d %d %d %d %d %d\n",
               label, a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]);
 }
 
index 115b133c66271d6863ccde881c21871e6e7000d0..f6810505126a9401f3c48fb415e8a506ee10685d 100644 (file)
@@ -177,7 +177,7 @@ __forceinline size_t movemask( const sseb& a ) { return _mm_movemask_ps(a); }
 
 ccl_device_inline void print_sseb(const char *label, const sseb &a)
 {
-       printf("%s: %df %df %df %d\n",
+       printf("%s: %d %d %d %d\n",
               label, a[0], a[1], a[2], a[3]);
 }
 
index b1e649f4abe304be8eb9012678033a39446679dd..781032ef971f5b7a7a4fc5666b6b609e393ef997 100644 (file)
@@ -190,7 +190,10 @@ static void datadropper_id_sample_pt(bContext *C, DataDropper *ddr, int mx, int
                                                }
                                        }
 
-                                       if (id) {
+                                       PointerRNA idptr;
+                                       RNA_id_pointer_create(id, &idptr);
+
+                                       if (id && RNA_property_pointer_poll(&ddr->ptr, ddr->prop, &idptr)) {
                                                BLI_snprintf(ddr->name, sizeof(ddr->name), "%s: %s",
                                                             ddr->idcode_name, id->name + 2);
                                                *r_id = id;