This commit is contained in:
Richard M. Shaw 2013-08-28 14:50:25 -05:00
parent 4a3ef265fc
commit 7322545ab0
3 changed files with 2 additions and 132 deletions

1
.gitignore vendored
View File

@ -17,3 +17,4 @@ clog
/oiio-Release-1.1.11.tar.gz
/oiio-Release-1.1.13.tar.gz
/oiio-Release-1.2.0.tar.gz
/oiio-Release-1.2.1.tar.gz

View File

@ -1,131 +0,0 @@
From 17748a3dfdddf0bc5e7a8948967547ab899dc700 Mon Sep 17 00:00:00 2001
From: Larry Gritz <lg@larrygritz.com>
Date: Thu, 18 Jul 2013 19:09:27 -0700
Subject: [PATCH 1/3] Fix compiler warning about unused local typedef
---
src/field3d.imageio/field3dinput.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/field3d.imageio/field3dinput.cpp b/src/field3d.imageio/field3dinput.cpp
index eeeac12..4df7158 100644
--- a/src/field3d.imageio/field3dinput.cpp
+++ b/src/field3d.imageio/field3dinput.cpp
@@ -145,7 +145,6 @@ inline int blocksize (FieldRes::Ptr &f)
typename SparseField<T>::Ptr sf (field_dynamic_cast<SparseField<T> >(f));
if (sf)
return sf->blockSize();
- typedef FIELD3D_VEC3_T<T> VecData_T;
typename SparseField<T>::Ptr vsf (field_dynamic_cast<SparseField<T> >(f));
if (vsf)
return vsf->blockSize();
--
1.8.1.6
From 27439302e32cdaacf7137f4e80eaf1c8a86cf862 Mon Sep 17 00:00:00 2001
From: Larry Gritz <lg@larrygritz.com>
Date: Thu, 18 Jul 2013 19:57:55 -0700
Subject: [PATCH 2/3] Make it work for big endian
---
src/libtexture/texture3d.cpp | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/libtexture/texture3d.cpp b/src/libtexture/texture3d.cpp
index 34a57d6..2ba64f0 100644
--- a/src/libtexture/texture3d.cpp
+++ b/src/libtexture/texture3d.cpp
@@ -378,10 +378,9 @@
// bool svalid[2], tvalid[2], rvalid[2]; // Valid texels? false means black border
union { bool bvalid[6]; unsigned long long ivalid; } valid_storage;
valid_storage.ivalid = 0;
- DASSERT (sizeof(valid_storage) >= 6*sizeof(bool));
+ DASSERT (sizeof(valid_storage) == 8);
const unsigned long long none_valid = 0;
- const unsigned long long all_valid = 0x010101010101LL;
- DASSERT (__LITTLE_ENDIAN__ && "this trick won't work with big endian");
+ const unsigned long long all_valid = littleendian() ? 0x010101010101LL : 0x01010101010100LL;
bool *svalid = valid_storage.bvalid;
bool *tvalid = valid_storage.bvalid + 2;
bool *rvalid = valid_storage.bvalid + 4;
--
1.8.1.6
From 7fc6e497326cdcdd72904cda3d48ed9c1f87ac69 Mon Sep 17 00:00:00 2001
From: Larry Gritz <lg@larrygritz.com>
Date: Thu, 18 Jul 2013 19:58:45 -0700
Subject: [PATCH 3/3] Fix compile problem with gcc but on platforms with no
'pause'
---
src/include/thread.h | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/include/thread.h b/src/include/thread.h
index cf3717e..8a31dfc 100644
--- a/src/include/thread.h
+++ b/src/include/thread.h
@@ -318,16 +318,17 @@ class thread_specific_ptr {
inline void
pause (int delay)
{
-#if defined(__GNUC__)
- for (int i = 0; i < delay; ++i) {
-#if defined __arm__ || defined __s390__
- __asm__ __volatile__("NOP;");
-#else
+#if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
+ for (int i = 0; i < delay; ++i)
__asm__ __volatile__("pause;");
-#endif
- }
+
+#elif defined(__GNUC__) && (defined(__arm__) || defined(__s390__))
+ for (int i = 0; i < delay; ++i)
+ __asm__ __volatile__("NOP;");
+
#elif USE_TBB
__TBB_Pause(delay);
+
#elif defined(_MSC_VER)
for (int i = 0; i < delay; ++i) {
#if defined (_WIN64)
@@ -336,6 +337,7 @@ class thread_specific_ptr {
_asm pause
#endif /* _WIN64 */
}
+
#else
// No pause on this platform, just punt
for (int i = 0; i < delay; ++i) ;
--
1.8.1.6
From db797a45b9060294ef02a879fde66c4265a90a14 Mon Sep 17 00:00:00 2001
From: Larry Gritz <lg@larrygritz.com>
Date: Fri, 12 Jul 2013 10:51:13 -0700
Subject: [PATCH] Fix compiler warnings with large unsigned value in test
---
src/libOpenImageIO/fmath_test.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libOpenImageIO/fmath_test.cpp b/src/libOpenImageIO/fmath_test.cpp
index fefaac0..fdf7f4e 100644
--- a/src/libOpenImageIO/fmath_test.cpp
+++ b/src/libOpenImageIO/fmath_test.cpp
@@ -72,8 +72,8 @@ void test_bit_range_convert ()
OIIO_CHECK_EQUAL ((bit_range_convert<2,20>(3)), 1048575);
OIIO_CHECK_EQUAL ((bit_range_convert<20,2>(1048575)), 3);
OIIO_CHECK_EQUAL ((bit_range_convert<20,21>(1048575)), 2097151);
- OIIO_CHECK_EQUAL ((bit_range_convert<32,32>(4294967295)), 4294967295);
- OIIO_CHECK_EQUAL ((bit_range_convert<32,16>(4294967295)), 65535);
+ OIIO_CHECK_EQUAL ((bit_range_convert<32,32>(4294967295U)), 4294967295U);
+ OIIO_CHECK_EQUAL ((bit_range_convert<32,16>(4294967295U)), 65535);
// These are not expected to work, since bit_range_convert only takes a
// regular 'unsigned int' as parameter. If we need >32 bit conversion,
// we need to add a uint64_t version of bit_range_convert.
--
1.8.1.6

View File

@ -1 +1 @@
4ea4cec743ef84a8c07625fadc8444ca oiio-Release-1.2.0.tar.gz
59d91de4774eec122a305a23435fc329 oiio-Release-1.2.1.tar.gz