diff options
author | hasufell <julian.ospald@googlemail.com> | 2012-05-04 02:28:21 +0200 |
---|---|---|
committer | hasufell <julian.ospald@googlemail.com> | 2012-05-04 02:28:21 +0200 |
commit | 0cd30c68efe014528b1dc873438ed26aa4daad02 (patch) | |
tree | 363d85bbd59f083bb6bf5e82f467141d80a89ac2 /dev-util | |
parent | dev-python/mimeparse: Moved to gentoo-x86 by tampakrap. (diff) | |
download | sunrise-0cd30c68efe014528b1dc873438ed26aa4daad02.tar.gz sunrise-0cd30c68efe014528b1dc873438ed26aa4daad02.tar.bz2 sunrise-0cd30c68efe014528b1dc873438ed26aa4daad02.zip |
in portage
Diffstat (limited to 'dev-util')
-rw-r--r-- | dev-util/nvidia-texture-tools/ChangeLog | 25 | ||||
-rw-r--r-- | dev-util/nvidia-texture-tools/Manifest | 10 | ||||
-rw-r--r-- | dev-util/nvidia-texture-tools/files/cuda.patch | 16 | ||||
-rw-r--r-- | dev-util/nvidia-texture-tools/files/gcc4.4.4-aliasing.patch | 59 | ||||
-rw-r--r-- | dev-util/nvidia-texture-tools/files/libpng1.5-build.patch | 17 | ||||
-rw-r--r-- | dev-util/nvidia-texture-tools/files/libtiff4.patch | 116 | ||||
-rw-r--r-- | dev-util/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-r1-cmake.patch | 192 | ||||
-rw-r--r-- | dev-util/nvidia-texture-tools/files/valgrind.patch | 857 | ||||
-rw-r--r-- | dev-util/nvidia-texture-tools/metadata.xml | 13 | ||||
-rw-r--r-- | dev-util/nvidia-texture-tools/nvidia-texture-tools-2.0.8-r1.ebuild | 71 |
10 files changed, 0 insertions, 1376 deletions
diff --git a/dev-util/nvidia-texture-tools/ChangeLog b/dev-util/nvidia-texture-tools/ChangeLog deleted file mode 100644 index 95527cbfe..000000000 --- a/dev-util/nvidia-texture-tools/ChangeLog +++ /dev/null @@ -1,25 +0,0 @@ -# ChangeLog for dev-util/nvidia-texture-tools -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: $ - -*nvidia-texture-tools-2.0.8-r1 (23 Apr 2012) - - 23 Apr 2012; hasufell <julian.ospald@googlemail.com> - -nvidia-texture-tools-2.0.8.ebuild, +nvidia-texture-tools-2.0.8-r1.ebuild, - -files/nvidia-texture-tools-2.0.8-cmake.patch, - +files/nvidia-texture-tools-2.0.8-r1-cmake.patch: - revbump fixes not installed headers, add check for gcc-version - - 15 Apr 2012; hasufell <julian.ospald@googlemail.com> - nvidia-texture-tools-2.0.8.ebuild: - correct static to static-libs - -*nvidia-texture-tools-2.0.8 (14 Apr 2012) - - 14 Apr 2012; hasufell <julian.ospald@googlemail.com> - +nvidia-texture-tools-2.0.8.ebuild, +files/libpng1.5-build.patch, - +files/nvidia-texture-tools-2.0.8-cmake.patch, +files/cuda.patch, - +files/gcc4.4.4-aliasing.patch, +files/libtiff4.patch, +files/valgrind.patch, - +metadata.xml: - New Ebuild for bug 407191 thanks to mgorny and binki - diff --git a/dev-util/nvidia-texture-tools/Manifest b/dev-util/nvidia-texture-tools/Manifest deleted file mode 100644 index 4abf2df71..000000000 --- a/dev-util/nvidia-texture-tools/Manifest +++ /dev/null @@ -1,10 +0,0 @@ -AUX cuda.patch 722 RMD160 e76a003405e7fcfbe60023a1de3da659879e62bf SHA1 83dff56cbbec9d69c19e9a53502a27c301251f3f SHA256 ef3ecafbf040c0193ac6ad5dc86974f667d74a6a96eae2526ae2abbc14398f5c -AUX gcc4.4.4-aliasing.patch 1553 RMD160 18525e0eb8d3b8a0212e670243f01099e41ef97a SHA1 73272c8e6661c56dcaa9bf96d971cb7df77cec54 SHA256 12df5dab88246e239ff9c96bd87ccb86ea3769b6f817fee08d7613d1ae6b3a0c -AUX libpng1.5-build.patch 591 RMD160 89c68d37852bcd4d333a34efc2d5b7daa3b5a663 SHA1 9df903aff0253e99448efd446232f3109bc382ba SHA256 30aa82b877926e91e95139b89277ae3e73bc1c3c14e4abbc90378e42deacd8c3 -AUX libtiff4.patch 2897 RMD160 16485b0934b934139e33de995f39317de161384f SHA1 cff6768bf053606c0b4032b02b7f7f5538a2a41e SHA256 86ca76aacd4219d10326e54fce887943aea8cb55662bfbd4ffe7a9695f223448 -AUX nvidia-texture-tools-2.0.8-r1-cmake.patch 5412 RMD160 f5ed6ea64b55cded3fda6261d3eb75454b9ce82c SHA1 a3dcf923e982bf5d86e023a9226c0246fdeb25fa SHA256 bab9c3228ce6fd04351c338fcb8c16d899b476ad3840f9fa4686ebaf72a74de9 -AUX valgrind.patch 26286 RMD160 d2b438833024c1448d0aef7221668e8853f2ad68 SHA1 e46eff41188629c831d53ce0b045e0b939b0e34d SHA256 2ee618e7d9ddfe11bc3f304e7045832bc0e1e3a79b70924996830cdd46676539 -DIST nvidia-texture-tools-2.0.8-1.tar.gz 935227 RMD160 dbb2a1ea4bef259af8520d881ab414d69ee0dea2 SHA1 3eaa578acc35159684748055aeb4bacdeaef12d1 SHA256 6b3c83500b420ee976f61eeae16e5727e2401e133f543baeac76c66c381eed2e -EBUILD nvidia-texture-tools-2.0.8-r1.ebuild 1651 RMD160 1d717d8c7d7dec880852a2c949897aa0b7198c38 SHA1 764ef88b45b352c8991ef46b10a5657d7367915a SHA256 d8f57d3badc247c3b85018fa93bb06297e666b49444816b17b4b0def4e592b94 -MISC ChangeLog 987 RMD160 2b4297007129704d53648915821d27b14172db26 SHA1 b56e378945013b3a5989a59ffbdde84772f68638 SHA256 fe7b99fb61a0ae37b35c5aabb8f196a4379c656790d6c798a8c7a9752899de01 -MISC metadata.xml 382 RMD160 39b31924c1369a0478cd0ec709e01fd623178cba SHA1 566d696883a5795251bcadce39a4771dd535db17 SHA256 2f2e19993374f1de97db1723f09d4839997b76707510efce20dfb3123ba6a8ef diff --git a/dev-util/nvidia-texture-tools/files/cuda.patch b/dev-util/nvidia-texture-tools/files/cuda.patch deleted file mode 100644 index abf6041a6..000000000 --- a/dev-util/nvidia-texture-tools/files/cuda.patch +++ /dev/null @@ -1,16 +0,0 @@ -Subject: Current CUDA runtime generates cpp code by default. Fix extension. -Origin: upstream, http://code.google.com/p/nvidia-texture-tools/source/detail?r=1157 - -Index: branches/2.0/cmake/FindCUDA.cmake -=================================================================== ---- branches/2.0/cmake/FindCUDA.cmake (revision 1156) -+++ branches/2.0/cmake/FindCUDA.cmake (revision 1157) -@@ -120,7 +120,7 @@ - FOREACH (CUFILE ${ARGN}) - GET_FILENAME_COMPONENT (CUFILE ${CUFILE} ABSOLUTE) - GET_FILENAME_COMPONENT (CFILE ${CUFILE} NAME_WE) -- SET (CFILE ${CMAKE_CURRENT_BINARY_DIR}/${CFILE}.gen.c) -+ SET (CFILE ${CMAKE_CURRENT_BINARY_DIR}/${CFILE}.gen.cpp) - - GET_CUFILE_DEPENDENCIES(CUDEPS ${CUFILE}) - #MESSAGE("${CUDEPS}") diff --git a/dev-util/nvidia-texture-tools/files/gcc4.4.4-aliasing.patch b/dev-util/nvidia-texture-tools/files/gcc4.4.4-aliasing.patch deleted file mode 100644 index a362e7494..000000000 --- a/dev-util/nvidia-texture-tools/files/gcc4.4.4-aliasing.patch +++ /dev/null @@ -1,59 +0,0 @@ -Subject: Aliasing violation causes erroneous output in GCC 4.4.4 -Origin, upstream, http://code.google.com/p/nvidia-texture-tools/source/detail?r=1167 -Bug: http://code.google.com/p/nvidia-texture-tools/issues/detail?id=139 - -Index: src/src/nvmath/Vector.h -=================================================================== ---- src/src/nvmath/Vector.h (revision 8311) -+++ src/src/nvmath/Vector.h (working copy) -@@ -68,7 +68,7 @@ - scalar y() const; - scalar z() const; - -- const Vector2 & xy() const; -+ Vector2 xy() const; - - scalar component(uint idx) const; - -@@ -111,8 +111,8 @@ - scalar z() const; - scalar w() const; - -- const Vector2 & xy() const; -- const Vector3 & xyz() const; -+ Vector2 xy() const; -+ Vector3 xyz() const; - - scalar component(uint idx) const; - -@@ -231,9 +231,9 @@ - inline scalar Vector3::y() const { return m_y; } - inline scalar Vector3::z() const { return m_z; } - --inline const Vector2 & Vector3::xy() const -+inline Vector2 Vector3::xy() const - { -- return *(Vector2 *)this; -+ return Vector2(m_x, m_y); - } - - inline scalar Vector3::component(uint idx) const -@@ -332,14 +332,14 @@ - inline scalar Vector4::z() const { return m_z; } - inline scalar Vector4::w() const { return m_w; } - --inline const Vector2 & Vector4::xy() const -+inline Vector2 Vector4::xy() const - { -- return *(Vector2 *)this; -+ return Vector2(m_x, m_y); - } - --inline const Vector3 & Vector4::xyz() const -+inline Vector3 Vector4::xyz() const - { -- return *(Vector3 *)this; -+ return Vector3(m_x, m_y, m_z); - } - - inline scalar Vector4::component(uint idx) const diff --git a/dev-util/nvidia-texture-tools/files/libpng1.5-build.patch b/dev-util/nvidia-texture-tools/files/libpng1.5-build.patch deleted file mode 100644 index ce3622431..000000000 --- a/dev-util/nvidia-texture-tools/files/libpng1.5-build.patch +++ /dev/null @@ -1,17 +0,0 @@ -Subject: Fixed build with libpng1.5 -Last-Update: 2012-03-31 -Origin: upstream, http://code.google.com/p/nvidia-texture-tools/source/detail?r=1248 - -diff --git a/src/nvimage/ImageIO.cpp b/src/nvimage/ImageIO.cpp -index 0b24600..22e920a 100644 ---- a/src/nvimage/ImageIO.cpp -+++ b/src/nvimage/ImageIO.cpp -@@ -603,7 +603,7 @@ static void user_read_data(png_structp png_ptr, png_bytep data, png_size_t lengt - { - nvDebugCheck(png_ptr != NULL); - -- Stream * s = (Stream *)png_ptr->io_ptr; -+ Stream * s = (Stream *)png_get_io_ptr(png_ptr); - s->serialize(data, (int)length); - - if (s->isError()) { diff --git a/dev-util/nvidia-texture-tools/files/libtiff4.patch b/dev-util/nvidia-texture-tools/files/libtiff4.patch deleted file mode 100644 index e78769eeb..000000000 --- a/dev-util/nvidia-texture-tools/files/libtiff4.patch +++ /dev/null @@ -1,116 +0,0 @@ -Origin: upstream, http://code.google.com/p/nvidia-texture-tools/source/detail?r=1156 - -Index: branches/2.0/src/nvcore/nvcore.h -=================================================================== ---- branches/2.0/src/nvcore/nvcore.h (revision 1155) -+++ branches/2.0/src/nvcore/nvcore.h (revision 1156) -@@ -99,6 +99,23 @@ - #define NV_ENDIAN_STRING POSH_ENDIAN_STRING - - -+// Type definitions: -+typedef posh_u8_t uint8; -+typedef posh_i8_t int8; -+ -+typedef posh_u16_t uint16; -+typedef posh_i16_t int16; -+ -+typedef posh_u32_t uint32; -+typedef posh_i32_t int32; -+ -+typedef posh_u64_t uint64; -+typedef posh_i64_t int64; -+ -+// Aliases -+typedef uint32 uint; -+ -+ - // Version string: - #define NV_VERSION_STRING \ - NV_OS_STRING "/" NV_CC_STRING "/" NV_CPU_STRING"/" \ -Index: branches/2.0/src/nvcore/DefsVcWin32.h -=================================================================== ---- branches/2.0/src/nvcore/DefsVcWin32.h (revision 1155) -+++ branches/2.0/src/nvcore/DefsVcWin32.h (revision 1156) -@@ -39,7 +39,7 @@ - #define __FUNC__ __FUNCTION__ - #endif - -- -+/* - // Type definitions - typedef unsigned char uint8; - typedef signed char int8; -@@ -55,8 +55,8 @@ - - // Aliases - typedef uint32 uint; -+*/ - -- - // Unwanted VC++ warnings to disable. - /* - #pragma warning(disable : 4244) // conversion to float, possible loss of data -Index: branches/2.0/src/nvcore/DefsGnucDarwin.h -=================================================================== ---- branches/2.0/src/nvcore/DefsGnucDarwin.h (revision 1155) -+++ branches/2.0/src/nvcore/DefsGnucDarwin.h (revision 1156) -@@ -2,7 +2,7 @@ - #error "Do not include this file directly." - #endif - --#include <stdint.h> // uint8_t, int8_t, ... -+//#include <stdint.h> // uint8_t, int8_t, ... - - // Function linkage - #define DLL_IMPORT -@@ -48,7 +48,7 @@ - - #define restrict __restrict__ - -- -+/* - // Type definitions - typedef uint8_t uint8; - typedef int8_t int8; -@@ -64,3 +64,4 @@ - - // Aliases - typedef uint32 uint; -+*/ -Index: branches/2.0/src/nvcore/DefsGnucLinux.h -=================================================================== ---- branches/2.0/src/nvcore/DefsGnucLinux.h (revision 1155) -+++ branches/2.0/src/nvcore/DefsGnucLinux.h (revision 1156) -@@ -47,7 +47,7 @@ - - #define restrict __restrict__ - -- -+/* - // Type definitions - typedef unsigned char uint8; - typedef signed char int8; -@@ -63,3 +63,4 @@ - - // Aliases - typedef uint32 uint; -+*/ -Index: branches/2.0/src/nvcore/DefsGnucWin32.h -=================================================================== ---- branches/2.0/src/nvcore/DefsGnucWin32.h (revision 1155) -+++ branches/2.0/src/nvcore/DefsGnucWin32.h (revision 1156) -@@ -41,7 +41,7 @@ - - #define restrict __restrict__ - -- -+/* - // Type definitions - typedef unsigned char uint8; - typedef signed char int8; -@@ -57,3 +57,4 @@ - - // Aliases - typedef uint32 uint; -+*/ diff --git a/dev-util/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-r1-cmake.patch b/dev-util/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-r1-cmake.patch deleted file mode 100644 index cee6fb5aa..000000000 --- a/dev-util/nvidia-texture-tools/files/nvidia-texture-tools-2.0.8-r1-cmake.patch +++ /dev/null @@ -1,192 +0,0 @@ -From: hasufell <julian.ospald@googlemail.com> -Date: Sun Apr 22 19:08:52 UTC 2012 -Subject: various cmake fixes - -fix hardcoded install paths for BINDIR and LIBDIR -make cg, cuda, glew, glut and openexr controllable and not automagic -add install-rules for headers (used by media-libs/devil) - ---- src/CMakeLists.txt -+++ src/CMakeLists.txt -@@ -6,6 +6,13 @@ - - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) - -+# initial variables -+SET(GLUT TRUE CACHE BOOL "") -+SET(GLEW TRUE CACHE BOOL "") -+SET(CG TRUE CACHE BOOL "") -+SET(CUDA TRUE CACHE BOOL "") -+SET(OPENEXR TRUE CACHE BOOL "") -+ - # OpenGL - INCLUDE(FindOpenGL) - IF(OPENGL_FOUND) -@@ -15,13 +22,15 @@ - ENDIF(OPENGL_FOUND) - - # GLUT --INCLUDE(${NV_CMAKE_DIR}/FindGLUT.cmake) --#INCLUDE(FindGLUT) --IF(GLUT_FOUND) -- MESSAGE(STATUS "Looking for GLUT - found") --ELSE(GLUT_FOUND) -- MESSAGE(STATUS "Looking for GLUT - not found") --ENDIF(GLUT_FOUND) -+IF(GLUT) -+ INCLUDE(${NV_CMAKE_DIR}/FindGLUT.cmake) -+ #INCLUDE(FindGLUT) -+ IF(GLUT_FOUND) -+ MESSAGE(STATUS "Looking for GLUT - found") -+ ELSE(GLUT_FOUND) -+ MESSAGE(STATUS "Looking for GLUT - not found") -+ ENDIF(GLUT_FOUND) -+ENDIF(GLUT) - - # DirectX - INCLUDE(${NV_CMAKE_DIR}/FindDirectX.cmake) -@@ -32,29 +41,35 @@ - ENDIF(DX10_FOUND) - - # GLEW --INCLUDE(${NV_CMAKE_DIR}/FindGLEW.cmake) --IF(GLEW_FOUND) -- MESSAGE(STATUS "Looking for GLEW - found") --ELSE(GLEW_FOUND) -- MESSAGE(STATUS "Looking for GLEW - not found") --ENDIF(GLEW_FOUND) -+IF(GLEW) -+ INCLUDE(${NV_CMAKE_DIR}/FindGLEW.cmake) -+ IF(GLEW_FOUND) -+ MESSAGE(STATUS "Looking for GLEW - found") -+ ELSE(GLEW_FOUND) -+ MESSAGE(STATUS "Looking for GLEW - not found") -+ ENDIF(GLEW_FOUND) -+ENDIF(GLEW) - - # Cg --INCLUDE(${NV_CMAKE_DIR}/FindCg.cmake) --IF(CG_FOUND) -- MESSAGE(STATUS "Looking for Cg - found") --ELSE(CG_FOUND) -- MESSAGE(STATUS "Looking for Cg - not found") --ENDIF(CG_FOUND) -+IF(CG) -+ INCLUDE(${NV_CMAKE_DIR}/FindCg.cmake) -+ IF(CG_FOUND) -+ MESSAGE(STATUS "Looking for Cg - found") -+ ELSE(CG_FOUND) -+ MESSAGE(STATUS "Looking for Cg - not found") -+ ENDIF(CG_FOUND) -+ENDIF(CG) - - # CUDA --INCLUDE(${NV_CMAKE_DIR}/FindCUDA.cmake) --IF(CUDA_FOUND) -- SET(HAVE_CUDA ${CUDA_FOUND} CACHE BOOL "Set to TRUE if CUDA is found, FALSE otherwise") -- MESSAGE(STATUS "Looking for CUDA - found") --ELSE(CUDA_FOUND) -- MESSAGE(STATUS "Looking for CUDA - not found") --ENDIF(CUDA_FOUND) -+IF(CUDA) -+ INCLUDE(${NV_CMAKE_DIR}/FindCUDA.cmake) -+ IF(CUDA_FOUND) -+ SET(HAVE_CUDA ${CUDA_FOUND} CACHE BOOL "Set to TRUE if CUDA is found, FALSE otherwise") -+ MESSAGE(STATUS "Looking for CUDA - found") -+ ELSE(CUDA_FOUND) -+ MESSAGE(STATUS "Looking for CUDA - not found") -+ ENDIF(CUDA_FOUND) -+ENDIF(CUDA) - - # Maya - INCLUDE(${NV_CMAKE_DIR}/FindMaya.cmake) -@@ -93,13 +108,15 @@ - ENDIF(TIFF_FOUND) - - # OpenEXR --INCLUDE(${NV_CMAKE_DIR}/FindOpenEXR.cmake) --IF(OPENEXR_FOUND) -- SET(HAVE_OPENEXR ${OPENEXR_FOUND} CACHE BOOL "Set to TRUE if OpenEXR is found, FALSE otherwise") -- MESSAGE(STATUS "Looking for OpenEXR - found") --ELSE(OPENEXR_FOUND) -- MESSAGE(STATUS "Looking for OpenEXR - not found") --ENDIF(OPENEXR_FOUND) -+IF(OPENEXR) -+ INCLUDE(${NV_CMAKE_DIR}/FindOpenEXR.cmake) -+ IF(OPENEXR_FOUND) -+ SET(HAVE_OPENEXR ${OPENEXR_FOUND} CACHE BOOL "Set to TRUE if OpenEXR is found, FALSE otherwise") -+ MESSAGE(STATUS "Looking for OpenEXR - found") -+ ELSE(OPENEXR_FOUND) -+ MESSAGE(STATUS "Looking for OpenEXR - not found") -+ ENDIF(OPENEXR_FOUND) -+ENDIF(OPENEXR) - - # Qt - FIND_PACKAGE(Qt4) -@@ -121,3 +138,4 @@ - - #INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/nvconfig.h DESTINATION include) - -+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/nvconfig.h DESTINATION include) ---- src/nvtt/CMakeLists.txt -+++ src/nvtt/CMakeLists.txt -@@ -53,13 +53,11 @@ - TARGET_LINK_LIBRARIES(nvtt ${LIBS} nvcore nvmath nvimage squish) - - INSTALL(TARGETS nvtt -- RUNTIME DESTINATION bin -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib/static) -- --INSTALL(FILES nvtt.h DESTINATION include/nvtt) -- -+ RUNTIME DESTINATION ${BINDIR} -+ LIBRARY DESTINATION ${LIBDIR} -+ ARCHIVE DESTINATION ${LIBDIR}) - -+INSTALL(DIRECTORY . DESTINATION include/nvtt FILES_MATCHING PATTERN "*.h") - - # test executables - ADD_EXECUTABLE(nvcompress tools/compress.cpp tools/cmdline.h) ---- src/nvmath/CMakeLists.txt -+++ src/nvmath/CMakeLists.txt -@@ -28,6 +28,8 @@ - TARGET_LINK_LIBRARIES(nvmath ${LIBS} nvcore) - - INSTALL(TARGETS nvmath -- RUNTIME DESTINATION bin -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib/static) -+ RUNTIME DESTINATION ${BINDIR} -+ LIBRARY DESTINATION ${LIBDIR} -+ ARCHIVE DESTINATION ${LIBDIR}) -+ -+INSTALL(DIRECTORY . DESTINATION include/nvmath FILES_MATCHING PATTERN "*.h") ---- src/nvimage/CMakeLists.txt -+++ src/nvimage/CMakeLists.txt -@@ -62,7 +62,8 @@ - TARGET_LINK_LIBRARIES(nvimage ${LIBS} nvcore nvmath posh) - - INSTALL(TARGETS nvimage -- RUNTIME DESTINATION bin -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib/static) -+ RUNTIME DESTINATION ${BINDIR} -+ LIBRARY DESTINATION ${LIBDIR} -+ ARCHIVE DESTINATION ${LIBDIR}) - -+INSTALL(DIRECTORY . DESTINATION include/nvimage FILES_MATCHING PATTERN "*.h") ---- src/nvcore/CMakeLists.txt -+++ src/nvcore/CMakeLists.txt -@@ -42,6 +42,8 @@ - TARGET_LINK_LIBRARIES(nvcore ${LIBS}) - - INSTALL(TARGETS nvcore -- RUNTIME DESTINATION bin -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib/static) -+ RUNTIME DESTINATION ${BINDIR} -+ LIBRARY DESTINATION ${LIBDIR} -+ ARCHIVE DESTINATION ${LIBDIR}) -+ -+INSTALL(DIRECTORY . DESTINATION include/nvcore FILES_MATCHING PATTERN "*.h") diff --git a/dev-util/nvidia-texture-tools/files/valgrind.patch b/dev-util/nvidia-texture-tools/files/valgrind.patch deleted file mode 100644 index 808e59dd9..000000000 --- a/dev-util/nvidia-texture-tools/files/valgrind.patch +++ /dev/null @@ -1,857 +0,0 @@ -Subject: Remove malloc overrides -Last-Update: 2012-03-31 -Origin, upstream, http://code.google.com/p/nvidia-texture-tools/source/detail?r=1172 -Bug: http://code.google.com/p/nvidia-texture-tools/issues/detail?id=138 - -diff --git a/src/nvcore/Containers.h b/src/nvcore/Containers.h -index f0b63d4..3d1d8ee 100644 ---- a/src/nvcore/Containers.h -+++ b/src/nvcore/Containers.h -@@ -16,9 +16,9 @@ Do not use memmove in insert & remove, use copy ctors instead. - - - // nvcore --#include <nvcore/nvcore.h> --#include <nvcore/Memory.h> --#include <nvcore/Debug.h> -+#include "nvcore.h" -+#include "Memory.h" -+#include "Debug.h" - - #include <string.h> // memmove - #include <new> // for placement new -@@ -589,15 +589,15 @@ namespace nv - // free the buffer. - if( m_buffer_size == 0 ) { - if( m_buffer ) { -- mem::free( m_buffer ); -+ free( m_buffer ); - m_buffer = NULL; - } - } - - // realloc the buffer - else { -- if( m_buffer ) m_buffer = (T *) mem::realloc( m_buffer, sizeof(T) * m_buffer_size ); -- else m_buffer = (T *) mem::malloc( sizeof(T) * m_buffer_size ); -+ if( m_buffer ) m_buffer = (T *) realloc(m_buffer, sizeof(T) * m_buffer_size); -+ else m_buffer = (T *) ::malloc(sizeof(T) * m_buffer_size); - } - } - -@@ -778,7 +778,7 @@ namespace nv - e->clear(); - } - } -- mem::free(table); -+ free(table); - table = NULL; - entry_count = 0; - size_mask = -1; -@@ -1001,7 +1001,7 @@ namespace nv - new_size = nextPowerOfTwo(new_size); - - HashMap<T, U, hash_functor> new_hash; -- new_hash.table = (Entry *) mem::malloc(sizeof(Entry) * new_size); -+ new_hash.table = (Entry *) ::malloc(sizeof(Entry) * new_size); - nvDebugCheck(new_hash.table != NULL); - - new_hash.entry_count = 0; -@@ -1026,7 +1026,7 @@ namespace nv - } - - // Delete our old data buffer. -- mem::free(table); -+ free(table); - } - - // Steal new_hash's data. -diff --git a/src/nvcore/Memory.cpp b/src/nvcore/Memory.cpp -index 7ece018..d470580 100644 ---- a/src/nvcore/Memory.cpp -+++ b/src/nvcore/Memory.cpp -@@ -1,36 +1,118 @@ -+// This code is in the public domain -- Ignacio Castaño <castano@gmail.com> - - #include "Memory.h" - #include "Debug.h" - --//#if HAVE_MALLOC_H --//#include <malloc.h> --//#endif -- - #include <stdlib.h> - -+#define USE_EFENCE 0 -+ -+#if USE_EFENCE -+extern "C" void *EF_malloc(size_t size); -+extern "C" void *EF_realloc(void * oldBuffer, size_t newSize); -+extern "C" void EF_free(void * address); -+#endif - - using namespace nv; - --void * nv::mem::malloc(size_t size) -+#if NV_OVERRIDE_ALLOC -+ -+void * malloc(size_t size) -+{ -+#if USE_EFENCE -+ return EF_malloc(size); -+#else -+ return ::malloc(size); -+#endif -+} -+ -+void * debug_malloc(size_t size, const char * file, int line) -+{ -+ NV_UNUSED(file); -+ NV_UNUSED(line); -+#if USE_EFENCE -+ return EF_malloc(size); -+#else -+ return ::malloc(size); -+#endif -+} -+ -+void free(void * ptr) - { -- return ::malloc(size); -+#if USE_EFENCE -+ return EF_free(const_cast<void *>(ptr)); -+#else -+ ::free(const_cast<void *>(ptr)); -+#endif - } - --void * nv::mem::malloc(size_t size, const char * file, int line) -+void * realloc(void * ptr, size_t size) - { -- NV_UNUSED(file); -- NV_UNUSED(line); -- return ::malloc(size); -+ nvDebugCheck(ptr != NULL || size != 0); // undefined realloc behavior. -+#if USE_EFENCE -+ return EF_realloc(ptr, size); -+#else -+ return ::realloc(ptr, size); -+#endif - } - --void nv::mem::free(const void * ptr) -+/* No need to override this unless we want line info. -+void * operator new (size_t size) throw() - { -- ::free(const_cast<void *>(ptr)); -+ return malloc(size); - } - --void * nv::mem::realloc(void * ptr, size_t size) -+void operator delete (void *p) throw() - { -- nvDebugCheck(ptr != NULL || size != 0); // undefined realloc behavior. -- return ::realloc(ptr, size); -+ free(p); - } - -+void * operator new [] (size_t size) throw() -+{ -+ return malloc(size); -+} -+ -+void operator delete [] (void * p) throw() -+{ -+ free(p); -+} -+*/ -+ -+#if 0 // Code from Apple: -+void* operator new(std::size_t sz) throw (std::bad_alloc) -+{ -+ void *result = std::malloc (sz == 0 ? 1 : sz); -+ if (result == NULL) -+ throw std::bad_alloc(); -+ gNewCounter++; -+ return result; -+} -+void operator delete(void* p) throw() -+{ -+ if (p == NULL) -+ return; -+ std::free (p); -+ gDeleteCounter++; -+} -+ -+/* These are the 'nothrow' versions of the above operators. -+ The system version will try to call a std::new_handler if they -+ fail, but your overriding versions are not required to do this. */ -+void* operator new(std::size_t sz, const std::nothrow_t&) throw() -+{ -+ try { -+ void * result = ::operator new (sz); // calls our overridden operator new -+ return result; -+ } catch (std::bad_alloc &) { -+ return NULL; -+ } -+} -+void operator delete(void* p, const std::nothrow_t&) throw() -+{ -+ ::operator delete (p); -+} -+ -+#endif // 0 -+ -+ -+#endif // NV_OVERRIDE_ALLOC -diff --git a/src/nvcore/Memory.h b/src/nvcore/Memory.h -index d699926..897388b 100644 ---- a/src/nvcore/Memory.h -+++ b/src/nvcore/Memory.h -@@ -1,186 +1,52 @@ --// This code is in the public domain -- castanyo@yahoo.es -+// This code is in the public domain -- Ignacio Castaño <castano@gmail.com> - -+#pragma once - #ifndef NV_CORE_MEMORY_H - #define NV_CORE_MEMORY_H - --#include <nvcore/nvcore.h> -+#include "nvcore.h" - - #include <stdlib.h> // malloc(), realloc() and free() --#include <stddef.h> // size_t -+#include <stddef.h> // size_t - - #include <new> // new and delete - --// Custom memory allocator --namespace nv --{ -- namespace mem -- { -- NVCORE_API void * malloc(size_t size); -- NVCORE_API void * malloc(size_t size, const char * file, int line); -- -- NVCORE_API void free(const void * ptr); -- NVCORE_API void * realloc(void * ptr, size_t size); -- -- } // mem namespace -- --} // nv namespace -- -- --// Override new/delete -+#define NV_OVERRIDE_ALLOC 0 - --inline void * operator new (size_t size) throw() --{ -- return nv::mem::malloc(size); --} -- --inline void operator delete (void *p) throw() --{ -- nv::mem::free(p); --} -+#if NV_OVERRIDE_ALLOC - --inline void * operator new [] (size_t size) throw() --{ -- return nv::mem::malloc(size); --} -- --inline void operator delete [] (void * p) throw() --{ -- nv::mem::free(p); -+// Custom memory allocator -+extern "C" { -+ NVCORE_API void * malloc(size_t size); -+ NVCORE_API void * debug_malloc(size_t size, const char * file, int line); -+ NVCORE_API void free(void * ptr); -+ NVCORE_API void * realloc(void * ptr, size_t size); - } - - /* - #ifdef _DEBUG - #define new new(__FILE__, __LINE__) --#define malloc(i) malloc(i, __FILE__, __LINE__) -+#define malloc(i) debug_malloc(i, __FILE__, __LINE__) - #endif - */ - --#if 0 --/* -- File: main.cpp -- -- Version: 1.0 -- -- Abstract: Overrides the C++ 'operator new' and 'operator delete'. -- -- Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. -- ("Apple") in consideration of your agreement to the following terms, and your -- use, installation, modification or redistribution of this Apple software -- constitutes acceptance of these terms. If you do not agree with these terms, -- please do not use, install, modify or redistribute this Apple software. -- -- In consideration of your agreement to abide by the following terms, and subject -- to these terms, Apple grants you a personal, non-exclusive license, under Apple’s -- copyrights in this original Apple software (the "Apple Software"), to use, -- reproduce, modify and redistribute the Apple Software, with or without -- modifications, in source and/or binary forms; provided that if you redistribute -- the Apple Software in its entirety and without modifications, you must retain -- this notice and the following text and disclaimers in all such redistributions of -- the Apple Software. Neither the name, trademarks, service marks or logos of -- Apple Computer, Inc. may be used to endorse or promote products derived from the -- Apple Software without specific prior written permission from Apple. Except as -- expressly stated in this notice, no other rights or licenses, express or implied, -- are granted by Apple herein, including but not limited to any patent rights that -- may be infringed by your derivative works or by other works in which the Apple -- Software may be incorporated. -- -- The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO -- WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED -- WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR -- PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN -- COMBINATION WITH YOUR PRODUCTS. -- -- IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR -- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -- ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION -- OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT -- (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN -- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- -- Copyright © 2006 Apple Computer, Inc., All Rights Reserved --*/ -- --/* This sample shows how to override the C++ global 'new' and 'delete' operators. */ --#include <new> --#include <iostream> --#include <cstdlib> --#include <stdexcept> --#include <locale> -- --/* Some variables and code to make the example do something. */ --namespace { -- unsigned long long gNewCounter; // number of times 'new' was called -- unsigned long long gDeleteCounter; // number of times 'delete' was called -- -- void printCounters() // print the counters above -- { -- std::cout << "new was called " << gNewCounter << " times and delete was called " << gDeleteCounter << " times\n"; -- } --} -- --/* These are the overridden new and delete routines. -- Most applications will want to override at least these four versions of new/delete if they override any of them. -- -- In Mac OS, it's not necessary to override the array versions of operator new and delete if all -- they would do is call the non-array versions; the C++ standard library, as an extension -- to the C++ standard, does this for you. -+#endif - -- Developers should consult the section [lib.support.dynamic] in the C++ standard to see the requirements -- on the generic operators new and delete; the system may expect that your overridden operators meet all these -- requirements. -+namespace nv { - -- Your operators may be called by the system, even early in start-up before constructors have been executed. */ --void* operator new(std::size_t sz) throw (std::bad_alloc) --{ -- void *result = std::malloc (sz == 0 ? 1 : sz); -- if (result == NULL) -- throw std::bad_alloc(); -- gNewCounter++; -- return result; --} --void operator delete(void* p) throw() --{ -- if (p == NULL) -- return; -- std::free (p); -- gDeleteCounter++; --} -+ // C++ helpers. -+ template <typename T> T * malloc(size_t count) { -+ return (T *)::malloc(sizeof(T) * count); -+ } - --/* These are the 'nothrow' versions of the above operators. -- The system version will try to call a std::new_handler if they -- fail, but your overriding versions are not required to do this. */ --void* operator new(std::size_t sz, const std::nothrow_t&) throw() --{ -- try { -- void * result = ::operator new (sz); // calls our overridden operator new -- return result; -- } catch (std::bad_alloc &) { -- return NULL; -- } --} --void operator delete(void* p, const std::nothrow_t&) throw() --{ -- ::operator delete (p); --} -+ template <typename T> T * realloc(T * ptr, size_t count) { -+ return (T *)::realloc(ptr, sizeof(T) * count); -+ } - --/* Bug 4067110 is that if your program has no weak symbols at all, the linker will not set the -- WEAK_DEFINES bit in the Mach-O header and as a result the new and delete operators above won't -- be seen by system libraries. This is mostly a problem for test programs and small examples, -- since almost all real C++ programs complicated enough to override new and delete will have at -- least one weak symbol. However, this is a small example, so: */ --void __attribute__((weak, visibility("default"))) workaroundFor4067110 () { } -+ template <typename T> void free(const T * ptr) { -+ ::free((void *)ptr); -+ } - --/* This is a simple test program that causes the runtime library to call new and delete. */ --int main() --{ -- atexit (printCounters); -- try { -- std::locale example("does_not_exist"); -- } catch (std::runtime_error &x) { -- } -- return 0; --} --#endif // 0 -+} // nv namespace - - #endif // NV_CORE_MEMORY_H -diff --git a/src/nvcore/StrLib.cpp b/src/nvcore/StrLib.cpp -index 34cf992..34518d9 100644 ---- a/src/nvcore/StrLib.cpp -+++ b/src/nvcore/StrLib.cpp -@@ -21,17 +21,17 @@ namespace - { - static char * strAlloc(uint size) - { -- return static_cast<char *>(mem::malloc(size)); -+ return static_cast<char *>(::malloc(size)); - } - - static char * strReAlloc(char * str, uint size) - { -- return static_cast<char *>(mem::realloc(str, size)); -+ return static_cast<char *>(::realloc(str, size)); - } - - static void strFree(const char * str) - { -- return mem::free(const_cast<char *>(str)); -+ return ::free(const_cast<char *>(str)); - } - - /*static char * strDup( const char * str ) -diff --git a/src/nvcore/StrLib.h b/src/nvcore/StrLib.h -index 8012271..4164cf5 100644 ---- a/src/nvcore/StrLib.h -+++ b/src/nvcore/StrLib.h -@@ -294,7 +294,7 @@ namespace nv - const uint16 count = getRefCount(); - setRefCount(count - 1); - if (count - 1 == 0) { -- mem::free(data - 2); -+ free(data - 2); - data = NULL; - } - } -@@ -323,7 +323,7 @@ namespace nv - - void allocString(const char * str, int len) - { -- const char * ptr = static_cast<const char *>(mem::malloc(2 + len + 1)); -+ const char * ptr = static_cast<const char *>(::malloc(2 + len + 1)); - - setData( ptr ); - setRefCount( 0 ); -diff --git a/src/nvimage/FloatImage.cpp b/src/nvimage/FloatImage.cpp -index 90818ca..6e82ade 100644 ---- a/src/nvimage/FloatImage.cpp -+++ b/src/nvimage/FloatImage.cpp -@@ -148,13 +148,13 @@ void FloatImage::allocate(uint c, uint w, uint h) - m_height = h; - m_componentNum = c; - m_count = w * h * c; -- m_mem = reinterpret_cast<float *>(nv::mem::malloc(m_count * sizeof(float))); -+ m_mem = reinterpret_cast<float *>(::malloc(m_count * sizeof(float))); - } - - /// Free the image, but don't clear the members. - void FloatImage::free() - { -- nv::mem::free( reinterpret_cast<void *>(m_mem) ); -+ ::free( reinterpret_cast<void *>(m_mem) ); - m_mem = NULL; - } - -diff --git a/src/nvimage/Image.cpp b/src/nvimage/Image.cpp -index 2307d5c..53c0b5f 100644 ---- a/src/nvimage/Image.cpp -+++ b/src/nvimage/Image.cpp -@@ -78,7 +78,7 @@ void Image::unwrap() - - void Image::free() - { -- nv::mem::free(m_data); -+ ::free(m_data); - m_data = NULL; - } - -diff --git a/src/nvimage/ImageIO.cpp b/src/nvimage/ImageIO.cpp -index 0b24600..70949ff 100644 ---- a/src/nvimage/ImageIO.cpp -+++ b/src/nvimage/ImageIO.cpp -@@ -954,7 +954,7 @@ FloatImage * nv::ImageIO::loadFloatTIFF(const char * fileName, Stream & s) - fimage->allocate(spp, width, height); - - int linesize = TIFFScanlineSize(tif); -- tdata_t buf = (::uint8 *)nv::mem::malloc(linesize); -+ tdata_t buf = (::uint8 *)::malloc(linesize); - - for (uint y = 0; y < height; y++) - { -@@ -991,7 +991,7 @@ FloatImage * nv::ImageIO::loadFloatTIFF(const char * fileName, Stream & s) - } - } - -- nv::mem::free(buf); -+ ::free(buf); - - TIFFClose(tif); - -diff --git a/src/nvtt/CompressRGB.cpp b/src/nvtt/CompressRGB.cpp -index 35239c4..7a6564d 100644 ---- a/src/nvtt/CompressRGB.cpp -+++ b/src/nvtt/CompressRGB.cpp -@@ -1,140 +1,140 @@ --// Copyright NVIDIA Corporation 2007 -- Ignacio Castano <icastano@nvidia.com>
--//
--// Permission is hereby granted, free of charge, to any person
--// obtaining a copy of this software and associated documentation
--// files (the "Software"), to deal in the Software without
--// restriction, including without limitation the rights to use,
--// copy, modify, merge, publish, distribute, sublicense, and/or sell
--// copies of the Software, and to permit persons to whom the
--// Software is furnished to do so, subject to the following
--// conditions:
--//
--// The above copyright notice and this permission notice shall be
--// included in all copies or substantial portions of the Software.
--//
--// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
--// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
--// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
--// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
--// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
--// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
--// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
--// OTHER DEALINGS IN THE SOFTWARE.
--
--#include <nvcore/Debug.h>
--
--#include <nvimage/Image.h>
--#include <nvimage/PixelFormat.h>
--#include <nvmath/Color.h>
--
--#include "CompressRGB.h"
--#include "CompressionOptions.h"
--#include "OutputOptions.h"
--
--using namespace nv;
--using namespace nvtt;
--
--namespace
--{
--
-- inline uint computePitch(uint w, uint bitsize)
-- {
-- uint p = w * ((bitsize + 7) / 8);
--
-- // Align to 32 bits.
-- return ((p + 3) / 4) * 4;
-- }
--
-- inline void convert_to_a8r8g8b8(const void * src, void * dst, uint w)
-- {
-- memcpy(dst, src, 4 * w);
-- }
--
-- inline void convert_to_x8r8g8b8(const void * src, void * dst, uint w)
-- {
-- memcpy(dst, src, 4 * w);
-- }
--
--} // namespace
--
--
--// Pixel format converter.
--void nv::compressRGB(const Image * image, const OutputOptions::Private & outputOptions, const CompressionOptions::Private & compressionOptions)
--{
-- nvCheck(image != NULL);
--
-- const uint w = image->width();
-- const uint h = image->height();
--
-- const uint bitCount = compressionOptions.bitcount;
-- nvCheck(bitCount == 8 || bitCount == 16 || bitCount == 24 || bitCount == 32);
--
-- const uint byteCount = bitCount / 8;
--
-- const uint rmask = compressionOptions.rmask;
-- uint rshift, rsize;
-- PixelFormat::maskShiftAndSize(rmask, &rshift, &rsize);
--
-- const uint gmask = compressionOptions.gmask;
-- uint gshift, gsize;
-- PixelFormat::maskShiftAndSize(gmask, &gshift, &gsize);
--
-- const uint bmask = compressionOptions.bmask;
-- uint bshift, bsize;
-- PixelFormat::maskShiftAndSize(bmask, &bshift, &bsize);
--
-- const uint amask = compressionOptions.amask;
-- uint ashift, asize;
-- PixelFormat::maskShiftAndSize(amask, &ashift, &asize);
--
-- // Determine pitch.
-- uint pitch = computePitch(w, compressionOptions.bitcount);
--
-- uint8 * dst = (uint8 *)mem::malloc(pitch + 4);
--
-- for (uint y = 0; y < h; y++)
-- {
-- const Color32 * src = image->scanline(y);
--
-- if (bitCount == 32 && rmask == 0xFF0000 && gmask == 0xFF00 && bmask == 0xFF && amask == 0xFF000000)
-- {
-- convert_to_a8r8g8b8(src, dst, w);
-- }
-- else if (bitCount == 32 && rmask == 0xFF0000 && gmask == 0xFF00 && bmask == 0xFF && amask == 0)
-- {
-- convert_to_x8r8g8b8(src, dst, w);
-- }
-- else
-- {
-- // Generic pixel format conversion.
-- for (uint x = 0; x < w; x++)
-- {
-- uint c = 0;
-- c |= PixelFormat::convert(src[x].r, 8, rsize) << rshift;
-- c |= PixelFormat::convert(src[x].g, 8, gsize) << gshift;
-- c |= PixelFormat::convert(src[x].b, 8, bsize) << bshift;
-- c |= PixelFormat::convert(src[x].a, 8, asize) << ashift;
--
-- // Output one byte at a time.
-- for (uint i = 0; i < byteCount; i++)
-- {
-- *(dst + x * byteCount + i) = (c >> (i * 8)) & 0xFF;
-- }
-- }
--
-- // Zero padding.
-- for (uint x = w * byteCount; x < pitch; x++)
-- {
-- *(dst + x) = 0;
-- }
-- }
--
-- if (outputOptions.outputHandler != NULL)
-- {
-- outputOptions.outputHandler->writeData(dst, pitch);
-- }
-- }
--
-- mem::free(dst);
--}
--
-+// Copyright NVIDIA Corporation 2007 -- Ignacio Castano <icastano@nvidia.com> -+// -+// Permission is hereby granted, free of charge, to any person -+// obtaining a copy of this software and associated documentation -+// files (the "Software"), to deal in the Software without -+// restriction, including without limitation the rights to use, -+// copy, modify, merge, publish, distribute, sublicense, and/or sell -+// copies of the Software, and to permit persons to whom the -+// Software is furnished to do so, subject to the following -+// conditions: -+// -+// The above copyright notice and this permission notice shall be -+// included in all copies or substantial portions of the Software. -+// -+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+// OTHER DEALINGS IN THE SOFTWARE. -+ -+#include <nvcore/Debug.h> -+ -+#include <nvimage/Image.h> -+#include <nvimage/PixelFormat.h> -+#include <nvmath/Color.h> -+ -+#include "CompressRGB.h" -+#include "CompressionOptions.h" -+#include "OutputOptions.h" -+ -+using namespace nv; -+using namespace nvtt; -+ -+namespace -+{ -+ -+ inline uint computePitch(uint w, uint bitsize) -+ { -+ uint p = w * ((bitsize + 7) / 8); -+ -+ // Align to 32 bits. -+ return ((p + 3) / 4) * 4; -+ } -+ -+ inline void convert_to_a8r8g8b8(const void * src, void * dst, uint w) -+ { -+ memcpy(dst, src, 4 * w); -+ } -+ -+ inline void convert_to_x8r8g8b8(const void * src, void * dst, uint w) -+ { -+ memcpy(dst, src, 4 * w); -+ } -+ -+} // namespace -+ -+ -+// Pixel format converter. -+void nv::compressRGB(const Image * image, const OutputOptions::Private & outputOptions, const CompressionOptions::Private & compressionOptions) -+{ -+ nvCheck(image != NULL); -+ -+ const uint w = image->width(); -+ const uint h = image->height(); -+ -+ const uint bitCount = compressionOptions.bitcount; -+ nvCheck(bitCount == 8 || bitCount == 16 || bitCount == 24 || bitCount == 32); -+ -+ const uint byteCount = bitCount / 8; -+ -+ const uint rmask = compressionOptions.rmask; -+ uint rshift, rsize; -+ PixelFormat::maskShiftAndSize(rmask, &rshift, &rsize); -+ -+ const uint gmask = compressionOptions.gmask; -+ uint gshift, gsize; -+ PixelFormat::maskShiftAndSize(gmask, &gshift, &gsize); -+ -+ const uint bmask = compressionOptions.bmask; -+ uint bshift, bsize; -+ PixelFormat::maskShiftAndSize(bmask, &bshift, &bsize); -+ -+ const uint amask = compressionOptions.amask; -+ uint ashift, asize; -+ PixelFormat::maskShiftAndSize(amask, &ashift, &asize); -+ -+ // Determine pitch. -+ uint pitch = computePitch(w, compressionOptions.bitcount); -+ -+ uint8 * dst = (uint8 *)::malloc(pitch + 4); -+ -+ for (uint y = 0; y < h; y++) -+ { -+ const Color32 * src = image->scanline(y); -+ -+ if (bitCount == 32 && rmask == 0xFF0000 && gmask == 0xFF00 && bmask == 0xFF && amask == 0xFF000000) -+ { -+ convert_to_a8r8g8b8(src, dst, w); -+ } -+ else if (bitCount == 32 && rmask == 0xFF0000 && gmask == 0xFF00 && bmask == 0xFF && amask == 0) -+ { -+ convert_to_x8r8g8b8(src, dst, w); -+ } -+ else -+ { -+ // Generic pixel format conversion. -+ for (uint x = 0; x < w; x++) -+ { -+ uint c = 0; -+ c |= PixelFormat::convert(src[x].r, 8, rsize) << rshift; -+ c |= PixelFormat::convert(src[x].g, 8, gsize) << gshift; -+ c |= PixelFormat::convert(src[x].b, 8, bsize) << bshift; -+ c |= PixelFormat::convert(src[x].a, 8, asize) << ashift; -+ -+ // Output one byte at a time. -+ for (uint i = 0; i < byteCount; i++) -+ { -+ *(dst + x * byteCount + i) = (c >> (i * 8)) & 0xFF; -+ } -+ } -+ -+ // Zero padding. -+ for (uint x = w * byteCount; x < pitch; x++) -+ { -+ *(dst + x) = 0; -+ } -+ } -+ -+ if (outputOptions.outputHandler != NULL) -+ { -+ outputOptions.outputHandler->writeData(dst, pitch); -+ } -+ } -+ -+ ::free(dst); -+} -+ -diff --git a/src/nvtt/cuda/CudaCompressDXT.cpp b/src/nvtt/cuda/CudaCompressDXT.cpp -index c59bedd..6b45ceb 100644 ---- a/src/nvtt/cuda/CudaCompressDXT.cpp -+++ b/src/nvtt/cuda/CudaCompressDXT.cpp -@@ -137,7 +137,7 @@ void CudaCompressor::compressDXT1(const CompressionOptions::Private & compressio - const uint h = (m_image->height() + 3) / 4; - - uint imageSize = w * h * 16 * sizeof(Color32); -- uint * blockLinearImage = (uint *) malloc(imageSize); -+ uint * blockLinearImage = (uint *) ::malloc(imageSize); - convertToBlockLinear(m_image, blockLinearImage); // @@ Do this in parallel with the GPU, or in the GPU! - - const uint blockNum = w * h; -@@ -207,14 +207,14 @@ void CudaCompressor::compressDXT3(const CompressionOptions::Private & compressio - const uint h = (m_image->height() + 3) / 4; - - uint imageSize = w * h * 16 * sizeof(Color32); -- uint * blockLinearImage = (uint *) malloc(imageSize); -+ uint * blockLinearImage = (uint *) ::malloc(imageSize); - convertToBlockLinear(m_image, blockLinearImage); - - const uint blockNum = w * h; - const uint compressedSize = blockNum * 8; - - AlphaBlockDXT3 * alphaBlocks = NULL; -- alphaBlocks = (AlphaBlockDXT3 *)malloc(min(compressedSize, MAX_BLOCKS * 8U)); -+ alphaBlocks = (AlphaBlockDXT3 *)::malloc(min(compressedSize, MAX_BLOCKS * 8U)); - - setupCompressKernel(compressionOptions.colorWeight.ptr()); - -@@ -298,14 +298,14 @@ void CudaCompressor::compressDXT5(const CompressionOptions::Private & compressio - const uint h = (m_image->height() + 3) / 4; - - uint imageSize = w * h * 16 * sizeof(Color32); -- uint * blockLinearImage = (uint *) malloc(imageSize); -+ uint * blockLinearImage = (uint *) ::malloc(imageSize); - convertToBlockLinear(m_image, blockLinearImage); - - const uint blockNum = w * h; - const uint compressedSize = blockNum * 8; - - AlphaBlockDXT5 * alphaBlocks = NULL; -- alphaBlocks = (AlphaBlockDXT5 *)malloc(min(compressedSize, MAX_BLOCKS * 8U)); -+ alphaBlocks = (AlphaBlockDXT5 *)::malloc(min(compressedSize, MAX_BLOCKS * 8U)); - - setupCompressKernel(compressionOptions.colorWeight.ptr()); - diff --git a/dev-util/nvidia-texture-tools/metadata.xml b/dev-util/nvidia-texture-tools/metadata.xml deleted file mode 100644 index 85d84e8e0..000000000 --- a/dev-util/nvidia-texture-tools/metadata.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer> - <email>maintainer-wanted@gentoo.org</email> - </maintainer> - <use> - <flag name="cg">Use NVIDIA toolkit plugin</flag> - <flag name="cuda">Use nvidia cuda toolkit</flag> - <flag name="glew">Enable glew extensions</flag> - </use> -</pkgmetadata> - diff --git a/dev-util/nvidia-texture-tools/nvidia-texture-tools-2.0.8-r1.ebuild b/dev-util/nvidia-texture-tools/nvidia-texture-tools-2.0.8-r1.ebuild deleted file mode 100644 index d0924faa7..000000000 --- a/dev-util/nvidia-texture-tools/nvidia-texture-tools-2.0.8-r1.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=4 - -inherit cmake-utils eutils multilib toolchain-funcs - -DESCRIPTION="A set of cuda-enabled texture tools and compressors" -HOMEPAGE="http://developer.nvidia.com/object/texture_tools.html" -SRC_URI="http://${PN}.googlecode.com/files/${P}-1.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="cg cuda glew glut openexr static-libs" - -DEPEND="media-libs/libpng:0 - media-libs/ilmbase - media-libs/tiff - sys-libs/zlib - virtual/jpeg - virtual/opengl - x11-libs/libX11 - cg? ( media-gfx/nvidia-cg-toolkit ) - cuda? ( dev-util/nvidia-cuda-toolkit ) - glew? ( media-libs/glew ) - glut? ( media-libs/freeglut ) - openexr? ( media-libs/openexr ) - " -RDEPEND="${DEPEND}" - -S=${WORKDIR}/${PN} - -pkg_setup() { - if use cuda; then - if [[ $(( $(gcc-major-version) * 10 + $(gcc-minor-version) )) -gt 44 ]] ; then - eerror "gcc 4.5 and up are not supported for useflag cuda!" - die "gcc 4.5 and up are not supported for useflag cuda!" - fi - fi -} - -src_prepare() { - epatch "${FILESDIR}"/gcc4.4.4-aliasing.patch \ - "${FILESDIR}"/libpng1.5-build.patch \ - "${FILESDIR}"/valgrind.patch \ - "${FILESDIR}"/cuda.patch \ - "${FILESDIR}"/libtiff4.patch \ - "${FILESDIR}"/${PF}-cmake.patch -} - -src_configure() { - local mycmakeargs=( - -DLIBDIR=$(get_libdir) - $(cmake-utils_use cg CG) - $(cmake-utils_use cuda CUDA) - $(cmake-utils_use glew GLEW) - $(cmake-utils_use glut GLUT) - $(cmake-utils_use openexr OPENEXR) - $(cmake-utils_use !static-libs NVTT_SHARED) - ) - - cmake-utils_src_configure -} - -src_install() { - cmake-utils_src_install - - dodoc ChangeLog -} |