[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39699] trunk/lib/windows/openimageio: Cycles: updated openimageio libs that might solve problem running on windows XP.

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Aug 25 19:12:54 CEST 2011


Revision: 39699
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39699
Author:   blendix
Date:     2011-08-25 17:12:53 +0000 (Thu, 25 Aug 2011)
Log Message:
-----------
Cycles: updated openimageio libs that might solve problem running on windows XP.

Modified Paths:
--------------
    trunk/lib/windows/openimageio/bin/OpenImageIO.dll
    trunk/lib/windows/openimageio/bin/OpenImageIO_d.dll
    trunk/lib/windows/openimageio/build.patch
    trunk/lib/windows/openimageio/lib/OpenImageIO.lib
    trunk/lib/windows/openimageio/lib/OpenImageIO_d.lib

Modified: trunk/lib/windows/openimageio/bin/OpenImageIO.dll
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/openimageio/bin/OpenImageIO_d.dll
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/openimageio/build.patch
===================================================================
--- trunk/lib/windows/openimageio/build.patch	2011-08-25 17:01:33 UTC (rev 39698)
+++ trunk/lib/windows/openimageio/build.patch	2011-08-25 17:12:53 UTC (rev 39699)
@@ -1,5 +1,5 @@
 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index f322e83..e6ec7e8 100644
+index f322e83..fdc1f70 100644
 --- a/src/CMakeLists.txt
 +++ b/src/CMakeLists.txt
 @@ -116,20 +116,30 @@ if (MSVC)
@@ -41,6 +41,74 @@
  
  # Add IO plugin directories
  if (NOT EMBEDPLUGINS)
+@@ -167,41 +177,41 @@ add_subdirectory (doc)
+ # Testing
+ 
+ # List all the individual testsuite tests here:
+-oiio_add_tests (ico gpsread sgi 
+-                texture-fill texture-gray texture-grid
+-                texture-missing texture-pointsample texture-res
+-                texture-skinny texture-fat
+-                imagecache-files texture-field3d)
++#oiio_add_tests (ico gpsread sgi 
++#                texture-fill texture-gray texture-grid
++#                texture-missing texture-pointsample texture-res
++#                texture-skinny texture-fat
++#                imagecache-files texture-field3d)
+ 
+ # List testsuites which need special external reference images from the web
+ # here:
+-oiio_add_tests (bmp
+-    IMAGEDIR bmpsuite
+-    URL http://entropymine.com/jason/bmpsuite/bmpsuite.zip)
++#oiio_add_tests (bmp
++#    IMAGEDIR bmpsuite
++#    URL http://entropymine.com/jason/bmpsuite/bmpsuite.zip)
+ 
+-oiio_add_tests (tiff-suite tiff-depths
+-    IMAGEDIR libtiffpic
+-    URL http://www.remotesensing.org/libtiff/images.html)
++#oiio_add_tests (tiff-suite tiff-depths
++#    IMAGEDIR libtiffpic
++#    URL http://www.remotesensing.org/libtiff/images.html)
+ 
+-oiio_add_tests (openexr-suite openexr-multires openexr-chroma
+-    IMAGEDIR openexr-images-1.5.0
+-    URL http://www.openexr.com/downloads.html)
++#oiio_add_tests (openexr-suite openexr-multires openexr-chroma
++#    IMAGEDIR openexr-images-1.5.0
++#    URL http://www.openexr.com/downloads.html)
+ 
+-oiio_add_tests (jpeg2000
+-    IMAGEDIR j2kp4files_v1_5
+-    URL http://www.crc.ricoh.com/~gormish/jpeg2000conformance/)
++#oiio_add_tests (jpeg2000
++#    IMAGEDIR j2kp4files_v1_5
++#    URL http://www.crc.ricoh.com/~gormish/jpeg2000conformance/)
+ 
+-oiio_add_tests (targa-tgautils
+-    IMAGEDIR TGAUTILS
+-    URL http://tgautils.inequation.org/)
++#oiio_add_tests (targa-tgautils
++#    IMAGEDIR TGAUTILS
++#    URL http://tgautils.inequation.org/)
+ 
+-oiio_add_tests (fits
+-    IMAGEDIR fits-images
+-    URL http://www.cv.nrao.edu/fits/data/tests/)
++#oiio_add_tests (fits
++#    IMAGEDIR fits-images
++#    URL http://www.cv.nrao.edu/fits/data/tests/)
+ 
+-oiio_add_tests (webp
+-    IMAGEDIR webp-images
+-    URL http://code.google.com/speed/webp/gallery.html)
++#oiio_add_tests (webp
++#    IMAGEDIR webp-images
++#    URL http://code.google.com/speed/webp/gallery.html)
+ 
+ #########################################################################
+ # Packaging
 @@ -234,7 +244,7 @@ if (WIN32)
      set(CPACK_PACKAGE_EXECUTABLES "iv" "iv - Image Viewer")
  #    set(CPACK_CREATE_DESCTOP_LINKS "iv" "iv - Image Viewer")
@@ -63,6 +131,52 @@
                                 "1.43" "1.43.0" "1.42" "1.42.0" 
                                 "1.41" "1.41.0" "1.40" "1.40.0"
                                 "1.39" "1.39.0" "1.38" "1.38.0"
+diff --git a/src/include/thread.h b/src/include/thread.h
+index 2303c3e..4ced852 100644
+--- a/src/include/thread.h
++++ b/src/include/thread.h
+@@ -245,7 +245,19 @@ private:
+ 
+ 
+ 
+-/// Atomic version of:  r = *at, *at += x, return r
++inline LONGLONG _InterlockedCompareExchange64(LONGLONG volatile* Destination, LONGLONG Exchange, LONGLONG Comperand)
++{
++	__asm {
++		mov esi, [Destination]
++		mov ebx, dword ptr [Exchange]
++		mov ecx, dword ptr [Exchange + 4]
++		mov eax, dword ptr [Comperand]
++		mov edx, dword ptr [Comperand + 4]
++   		lock cmpxchg8b [esi]
++	}
++}
++
++// Atomic version of:  r = *at, *at += x, return r
+ /// For each of several architectures.
+ inline int
+ atomic_exchange_and_add (volatile int *at, int x)
+@@ -281,7 +293,10 @@ atomic_exchange_and_add (volatile long long *at, long long x)
+     return OSAtomicAdd64Barrier (x, at) - x;
+ #elif defined(_WIN32)
+     // Windows
+-    return InterlockedExchangeAdd64 ((volatile LONGLONG *)at, x);
++	LONGLONG Old;
++	do Old = *at;
++	while (_InterlockedCompareExchange64(at, Old + x, Old) != Old);
++	return Old;
+ #else
+     error ("No atomics on this platform.")
+ #endif
+@@ -325,7 +340,7 @@ atomic_compare_and_exchange (volatile long long *at, long long compareval, long
+ #elif defined(__APPLE__)
+     return OSAtomicCompareAndSwap64Barrier (compareval, newval, at);
+ #elif defined(_WIN32)
+-    return (InterlockedCompareExchange64 ((volatile LONGLONG *)at, newval, compareval) == compareval);
++    return (_InterlockedCompareExchange64 ((volatile LONGLONG *)at, newval, compareval) == compareval);
+ #else
+     error ("No atomics on this platform.")
+ #endif
 diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt
 index 8c162bc..d49c37a 100644
 --- a/src/libOpenImageIO/CMakeLists.txt
@@ -76,4 +190,3 @@
  endif ()
  
  add_executable (imagebufalgo_test imagebufalgo_test.cpp)
-

Modified: trunk/lib/windows/openimageio/lib/OpenImageIO.lib
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/openimageio/lib/OpenImageIO_d.lib
===================================================================
(Binary files differ)




More information about the Bf-blender-cvs mailing list