331 Commits
2.0.8 ... 2.1.0

Author SHA1 Message Date
fa6ebda53f Cleanups for 2.1.0 release. 2016-09-19 12:53:33 -07:00
383331bb42 Fix issue #240. 2016-09-19 11:29:40 -07:00
1a75484520 Minor fixes. 2016-09-19 11:20:25 -07:00
a11a6739c2 Fix comments. Minor fixes. 2016-09-19 11:12:19 -07:00
94e0ba9ec7 Merge pull request #245 from Lectem/patch-1
Fix build on VC2015 (missing typedefs)
2016-09-19 10:57:25 -07:00
1770ad7280 Fix build on VC2015
On VC2015 the project wouldn't build because of the missing typedefs.
This was tested on both 2013 and 2015.
2016-09-19 10:28:03 +02:00
d41c7ac33a Merge pull request #243 from fshp/master
Fix CMakeLists after rename license and readme files
2016-09-14 11:37:41 -07:00
396b6153af Fix CMakeLists after rename license and readme files
Additions to 831ebec475
2016-09-14 13:18:36 +03:00
831ebec475 Update readme files. 2016-08-16 12:43:17 -07:00
b0afc82d7d Minor osx fixes.
Remove FindCUDA and use cmake version instead.
2016-08-16 12:31:31 -07:00
8659d3fb4a Merge pull request #241 from krytarowski/netbsd-1
Add basic NetBSD support
2016-07-30 09:01:25 -07:00
3c4ccd41fa Add basic NetBSD support 2016-07-30 11:49:33 +02:00
475c66d2cc Merge pull request #239 from madscientist159/master
Fix remaining issues on PPC64EL
2016-07-12 00:57:05 -07:00
f8790a536a Fix remaining issues on PPC64EL
One AltiVec-related build issue remained
Self tests now pass on LE POWER platforms

Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
2016-07-12 06:04:04 +00:00
b549e862b0 Merge pull request #238 from madscientist159/master
Fix PPC64LE builds
2016-06-29 17:04:44 -07:00
203eda1d47 Fix build on PPC64LE
Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
2016-06-26 20:09:39 -05:00
47b06d3255 Fix build failure due to PPM save incorrect data types
Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
2016-06-26 20:02:28 -05:00
e965a668a3 Merge pull request #237 from sanderd17/patch-1
Fix compilation on GCC 6
2016-06-20 12:36:57 -07:00
65b3dfa4a6 Fix compilation on GCC 6
GCC 6 apparently doesn't want to cast booleans to pointers anymore. So this fixes it for us. See also our changeset: http://trac.wildfiregames.com/changeset/18364
2016-06-12 15:09:19 +02:00
875a78a124 Merge pull request #236 from mpersano/master
Add support for compressing texture arrays.
2016-02-29 12:50:39 -08:00
46e5c6a8ee Fix nvassemble command-line options parsing. 2016-02-28 08:17:35 -03:00
2bd367a4dc Add support for compressing texture arrays.
Also add support for reading/writing DX10 uncompressed (RGB/lumi) textures, so
now it's possible to compress a texture array assembled with nvcompress.
2016-02-28 08:05:59 -03:00
49677da371 Remove executable property. 2016-02-22 11:54:43 -08:00
3850b22f7f Merge pull request #235 from mpersano/master
Support assembling texture arrays.
2016-02-11 15:21:54 -08:00
db8fc561c3 Support assembling texture arrays. 2016-02-11 18:43:01 -02:00
9b79638f79 Disable test code from nvdecompress. Update vc12 projects and fix vc12 build. Fixes bug #232. 2015-12-11 12:15:22 -08:00
7596650a2d Be more clear that Qt4 is not used. From cfcohen. 2015-12-05 15:23:00 -08:00
308050923b Integrate changes from cfcohen. 2015-12-05 15:19:59 -08:00
9d6c7d6a69 Integrate more changes from cfcohen. 2015-12-05 15:16:14 -08:00
a20044bccc Integrate changes from cfcohen to supress warning. 2015-12-05 15:09:57 -08:00
268e6abd65 Integrate cfcohen changes to fix linker problems with gcc. 2015-12-05 15:06:37 -08:00
87ca69bd14 Do not output messages for disabled libraries. 2015-12-05 14:58:05 -08:00
63d29a508e Fix compiler warning. 2015-12-05 14:56:36 -08:00
e9a8630a3f Increase array size to supress compiler warning. 2015-12-05 14:50:52 -08:00
c0ad0f4d31 Merge changes from The Witness. 2015-10-28 23:53:08 -07:00
a382ea5b21 Fix compiler warning. 2015-09-02 12:25:47 -07:00
26723de502 Fix memory leak reported by Sylvain Rochette in issue #229. 2015-08-21 21:53:16 -07:00
58617584d4 Apply patch provided in issue #224. Add support for ARM64. 2015-07-20 23:47:01 +02:00
4ef408b591 Remove debug code. 2015-07-20 14:32:16 +02:00
592c8b8b0a Merge pull request #225 from Skylark13/master
Fix compilation on VS2013 (non-CUDA)
2015-07-20 13:15:55 +02:00
b254961b22 - Removed Library.cpp and Library.h from nvcore VS2013 project
- Also added project references to nvtt in nvdecompress and nvimgdiff projects, lack of which prevented them from compiling
- Change to nvtt.sln is an auto-modification from VS, pretty sure it makes no difference
2015-07-19 14:08:01 -04:00
d32f0e0173 Merge pull request #223 from cmdrf/no-include-library-h
Do not include Library.h
2015-06-12 10:27:02 -07:00
701f8224dc Merge pull request #222 from cmdrf/gccforeach
Update NV_FOREACH for C++11
2015-06-12 10:26:25 -07:00
7b031aa4bf Do not include removed Library.h 2015-06-12 14:00:37 +02:00
d01d72f8e7 Update NV_FOREACH for C++11 2015-06-12 12:38:44 +02:00
0d205015ae Merge pull request #221 from cmdrf/snprintf-vs2015
Do not redefine snprintf on VS2015
2015-06-10 10:51:07 -07:00
7aa0390f32 Merge pull request #220 from cmdrf/cmakecuda
Fix CMake CUDA introspection
2015-06-10 10:49:35 -07:00
68e6cbdd40 Merge pull request #219 from cmdrf/gcclinkorder
Fix Link Order for GCC in CMake
2015-06-10 10:48:46 -07:00
fa062aa298 Do not redefine snprintf on VS2015 2015-06-10 18:46:26 +02:00
205f492e2e Fix CMake CUDA introspection 2015-06-10 18:14:12 +02:00
899a99a106 Fix link order for Linux 2015-06-10 17:59:57 +02:00
766edcb1a6 Fix more link order for Linux 2015-06-10 17:59:56 +02:00
b37ca4498d Merge pull request #217 from pzychotic/master
Fixed compiler flag being set on wrong target.
2015-04-21 15:49:59 -07:00
9ad63e7f3a Fixed compiler flag being set on wrong target. 2015-04-21 22:18:25 +02:00
81336cc3e9 Remove unnecessary files. 2015-03-25 12:36:16 -07:00
e9d44813d2 Merge pull request #216 from esok/master
Added support for gcc and c++11 features.
2015-03-24 17:08:37 -07:00
d4fbfd0ff4 Add project notes. 2015-03-24 12:32:27 -07:00
4c7ff58885 Update vc12 projects 2015-03-24 12:31:22 -07:00
a083337473 Merge changes from The Witness. 2015-03-24 12:14:49 -07:00
6bc3224fe7 Added support for gcc and c++11 features. 2015-03-23 22:05:33 -04:00
7e2a9d1adb osx fixes. Fix issue 211. 2014-12-02 20:23:21 +00:00
2d6fc0e304 DXT1 compressor tweaks. 2014-12-02 05:43:13 +00:00
d019cd7080 Merge changes from the witness. 2014-11-04 17:49:29 +00:00
4cb60cc5ba Fix vc12 build. 2014-09-23 17:49:18 +00:00
9722101114 Cleanup vc12 project. 2014-09-23 17:44:36 +00:00
3f0bffaadf Add vc12 solution. 2014-09-23 17:39:36 +00:00
6e69560969 Tag dll and binaries with 32/64 suffix. 2014-07-01 18:10:28 +00:00
8f4ebf1d93 Remove missing project. 2014-07-01 17:27:46 +00:00
132443013a Minor updates to C# bindings. Work in progress. 2014-06-11 21:31:47 +00:00
ac87eefa6d Apply patch to update C# wraper. Fixes issue 184. 2014-06-11 21:02:04 +00:00
f705b2eaa1 Fixes issue 93. 2014-06-11 19:46:17 +00:00
6ade0e27b7 Fixes issue 202. 2014-05-21 18:09:47 +00:00
7e74261f92 Fixes issue 204. 2014-05-21 17:47:06 +00:00
57298c71c8 Fix issue 194. 2014-05-21 17:23:05 +00:00
b06a6f46a5 Fixes issue 207. 2014-04-18 16:25:24 +00:00
63d6036e3a Fix issue 206. 2014-04-03 22:10:12 +00:00
ab316deeaa Add BC7 support. It's incredibly slow - ~60 seconds to compress a 512x512 image, on a Core i7 - but it works.
- Added AVPCL compressor to projects and got it building with VC9 and VC10.
- Removed unused command line interface & file read/write code from AVPCL.
- Convert AVPCL to use NV vector math lib, asserts, etc.
- Convert AVPCL to use double instead of float.
- Added 4x4 symmetric eigensolver, for AVPCL; it's based on the existing 3x3 one, but I had to rewrite the Householder reduction stage.  As with ZOH, using the eigensolver (instead of SVD) gives a ~25% speedup without significantly affecting RMSE.
- Encapsulate ZOH and AVPCL stuff into their own namespaces to keep everything separate.
- Added some missing vector operators to the nvmath lib.
2013-12-07 02:17:08 +00:00
f2fa0517b5 Ported over James Arvo's SVD code from ZOH. It's a good deal slower than the eigensolver, and no better in RMSE - so didn't use it, but left the code in place for future reference.
Also replaced doubles with floats in the eigensolver code.  Speeds up BC6 another 5%.  No change to RMSE in test suite.
2013-12-05 02:13:17 +00:00
474239c784 Add BC6 support to nvtt lib and utils.
- Use 3x3 eigensolver for initial fit in ZOH.  Slightly better perf and RMSE than power method.
- Remove use of double precision in ZOH - speeds up by 12%.
- Fixed RGBM encoding that was broken for HDR images.
- Use gamma-2.0 space for RGBM for HDR images (improves precision in darks).
- Use UNORM instead of TYPELESS formats when saving a DX10 .dds file.  The TYPELESS formats break most viewers.
- Cleaned up warnings in ZOH code.
- Command-line utils will warn if you give them an unrecognized parameter.
- Added VS2010 profiling results.
2013-10-25 17:30:55 +00:00
77188a42ac Fix VC10 project files. Fix code to build with CUDA 5.5 (the cudaMemcpyToSymbol overload that takes the symbol name as a string was removed). 2013-10-16 21:18:16 +00:00
57b99a1595 Apply CubeSurface fold/unfold patch. Fixes issue 199. 2013-09-04 01:10:52 +00:00
b2b367ef5f Fix xyzToCieLab bug and add CIE Lab DeltaE 1994 color differencing.
Fixes issue 197.
Fixes issue 198.
2013-09-04 01:08:39 +00:00
022944e49b Apply patch to fix issue 192. 2013-07-20 00:08:06 +00:00
27024253ce Handle 3d textures in nvcompress. 2013-07-09 17:16:41 +00:00
22bc0b949d Fix assert. Fixes issue 190. 2013-06-25 17:03:08 +00:00
ac0759efc8 Update cmake file. Fixes issue 189. 2013-06-12 05:57:08 +00:00
94d0635285 Merge changes from the Witness. 2013-06-07 17:53:55 +00:00
634229a842 Fix issue 182. 2013-02-05 18:38:39 +00:00
eb5556548d Fix issue 186. Confirmed it works on gcc and clang. 2013-02-05 18:35:38 +00:00
14faa8e564 Fix linux/osx compiler errors. Fixes issue 168. 2013-02-05 07:35:15 +00:00
2f12bfdb41 Fix issue 158. 2013-02-05 07:17:25 +00:00
358bd0296e Fix issue 181. 2013-02-01 23:19:58 +00:00
aa6cd0d2e5 Fix alpha detection code. Fixes issue 183. Thanks rocatis! 2013-01-29 20:37:15 +00:00
83bdcb541c OpenBSD fixes. Fixes issue 176. 2012-09-11 16:41:02 +00:00
1d8d067caf Fix build under OSX with clang. Fixes issue 180. 2012-09-11 16:22:09 +00:00
15f5e19d40 Add missing semicolon. Fixes issue 179. 2012-09-05 04:06:37 +00:00
63897b3ecc Integrate 3D texture fixes from Ben Goldstein @ Nihilistic. 2012-08-28 17:22:37 +00:00
ac3f2d1794 Misc changes. 2012-08-28 16:44:23 +00:00
bff3dab505 Fix errors. 2012-07-20 16:36:20 +00:00
04bdc76749 Merge changes from The Witness. 2012-07-20 16:32:26 +00:00
3b4fcd0369 Merge changes from The Witness. 2012-07-20 16:19:03 +00:00
fea97461c5 Merge changes from The Witness. 2012-07-20 16:17:28 +00:00
897cc78397 Port fix from 2.0 to trunk. Problem discovered thanks to Jern-Kuan. 2012-07-20 16:10:25 +00:00
0eb7c3eb71 Integrate skylight model. Work in progress. 2012-05-22 18:47:38 +00:00
20c5078e93 Fix tabs. 2012-05-03 17:12:49 +00:00
c784e03be5 Try to increase robustness of thread pool. 2012-05-03 17:04:53 +00:00
803301ea89 Add luma test. 2012-04-30 23:04:05 +00:00
fa4ba97f6d Merge changes from the witness.
Fix parallel cluster fit compressor.
Luma compression experiment.
2012-04-30 23:03:44 +00:00
b130487c2a Merge changes from the witness. 2012-04-30 23:03:00 +00:00
8ff802dac1 Merge changes from the witness. 2012-04-30 23:02:46 +00:00
69e8641db5 Merge changes from the witness. 2012-04-30 23:02:23 +00:00
d5a3c1d3a7 Minor cleanups to testsuite output. 2012-03-09 07:44:13 +00:00
79360e6501 Fix msvc build. 2012-03-09 07:08:16 +00:00
547c59e52f Update project file. 2012-03-09 07:07:50 +00:00
5473a89132 Updated vc10 projects thanks to Jern-Kuan Leong @ nvidia. 2012-03-09 06:47:51 +00:00
dca493b6c4 clang/osx lion fix. 2012-03-01 03:50:38 +00:00
b6b47ff254 Fix pedantic warning. 2012-03-01 03:50:07 +00:00
095737d863 Linux build fix from Matthaus. 2012-03-01 03:48:34 +00:00
9609d1e2fd Darwin/Lion fixes.
Integrate Linux and Unicode fixes from Matthaus.
2012-03-01 03:48:05 +00:00
d36f68fd66 Update vc10 projects. 2012-02-23 07:41:43 +00:00
d252888850 Add vc10 project. 2012-02-21 23:55:25 +00:00
21af952fec osx fixes. Update cmake files. 2012-02-14 18:00:47 +00:00
778bdec4ba Update project files. 2012-02-14 16:45:55 +00:00
f1c943cd57 Merge changes from The Witness. 2012-02-14 16:37:15 +00:00
1248743859 Merge changes from The Witness. 2012-02-14 16:35:42 +00:00
fa468b04ab Merge changes from The Witness. 2012-02-14 16:31:25 +00:00
06c170b41b Merge changes from The Witness. 2012-02-14 16:16:27 +00:00
cb6c18efa4 Add info about Valve's texture format. 2012-02-14 16:15:20 +00:00
d44a65c7b7 Fix unicode builds. 2012-02-03 16:23:52 +00:00
d08c9e61e3 Fix merge error. 2012-02-02 16:21:48 +00:00
8922ab86d6 Fix msvc build. Fixes issue 171.
Improve sse perf.
Fix rmse computation in nvimgdiff.
2012-01-12 16:54:10 +00:00
6d843c78cf HDR encoding tests. 2012-01-04 02:25:28 +00:00
e46f48f0a3 Better stack trace parser for OSX. 2012-01-04 02:24:30 +00:00
f2d90ee844 Fix errors in new cluster fit compressor. 2012-01-02 08:49:13 +00:00
23bfc1b514 Fix errors and enable new cluster fit compressor. 2012-01-01 21:29:27 +00:00
035997bc2e Fix cube map processing bug reported by Cedric Perthuis. 2011-12-12 18:05:04 +00:00
086bf0343c Minor opt. 2011-11-11 02:19:28 +00:00
97f17dc6d8 Update posh. 2011-11-11 02:19:07 +00:00
50a5d5967b Update project. 2011-11-11 02:17:52 +00:00
78d48e62a9 Merge changes from The Witness. 2011-11-11 02:02:58 +00:00
2e9afac689 Add tone mapping operators. 2011-11-11 00:48:22 +00:00
fa0800a24a Some bug fixes. 2011-10-12 00:01:58 +00:00
0b3959e1a1 Linux fixes. Thanks to Rico Tzschichholz. 2011-10-11 22:22:29 +00:00
e98d795d2b More header optimizations. 2011-10-11 18:52:24 +00:00
d11d7a5f38 seamless cubemap filtering. 2011-10-11 06:40:40 +00:00
2ec37026be Merge changes from the witness. 2011-10-10 20:24:12 +00:00
94401919b8 Add some inline files to reduce amount of code parsed. 2011-10-10 19:35:21 +00:00
cbf4b2e3bf Some debugging. 2011-10-04 06:10:34 +00:00
d8aec20022 Add cubemap tests. 2011-10-04 06:06:38 +00:00
e462e3ef58 build nvthread properly 2011-10-04 06:09:50 +00:00
9e7651e2d5 Work in progress. 2011-10-04 01:33:31 +00:00
78fa1e785d Fixes and optimizations. 2011-10-01 02:07:32 +00:00
149a50a26f Filtering optimizations. 2011-09-30 17:21:08 +00:00
18b3f8025e Add test. 2011-09-30 16:36:35 +00:00
eb10483faf Fix bugs. In progress cube map loading. 2011-09-30 01:52:27 +00:00
dc13d9e9d2 Add support for float10 and float11 formats. Not tested. 2011-09-29 23:14:18 +00:00
676a0b2908 work in progress. 2011-09-29 00:58:47 +00:00
9de43e7757 Fix build errors/warnings. 2011-09-28 22:02:46 +00:00
f0d9497e1f Add missing changes. 2011-09-28 19:54:05 +00:00
d87b7edd5f RGBE conversion fixes. 2011-09-28 19:53:02 +00:00
e15aa7a9bf Remove RGBE compressor. Implement as a color transform. 2011-09-28 18:44:18 +00:00
2e96567459 Fix project. 2011-09-28 16:49:31 +00:00
8e586ca693 Rename files. 2011-09-28 16:46:01 +00:00
03c3fa42a8 Cosine power filter. A bit of renaming. 2011-09-28 16:40:59 +00:00
dbdf9b6398 Update project. 2011-09-28 01:48:33 +00:00
fcd296cd81 Merge changes from the witness. 2011-09-28 01:45:08 +00:00
95811dfdff Cleanups. 2011-09-27 23:05:46 +00:00
91e6bbe5c3 Add convolution method to TexImage. Fixes issue 166. 2011-09-27 18:41:02 +00:00
8c65e4c62d Do not depend on external int limits. 2011-09-27 18:25:39 +00:00
2364f539eb Porting parallel stuff to unix. 2011-09-27 18:12:32 +00:00
5081360073 Add missing file. 2011-09-27 17:51:13 +00:00
3c0ab2d3f3 Merge changes from the witness. 2011-09-27 17:48:46 +00:00
9c0658edca Fixes. 2011-09-27 17:29:50 +00:00
86b43e55c1 cubemap support, work in progress. 2011-09-27 17:28:01 +00:00
0b05255f90 Add missing files to project. 2011-09-27 16:37:53 +00:00
17e01ed240 Fix errors, warnings. 2011-09-27 16:37:41 +00:00
af9ba8ae90 Add support for 3D texture. Integrate patch provided in issue 28 plus some additional changes. 2011-09-27 05:17:01 +00:00
4906642ac3 Revert Library.*, needed for CUDA stuff. 2011-09-26 05:33:53 +00:00
b68d428492 Accumulate filter sums using doubles to avoid unsymmetries. Fixes issue 167. 2011-09-14 17:51:09 +00:00
02709e1699 Set DDPF_FOURCC flag when using DX10 container. Fixes issue 165. 2011-09-13 19:20:51 +00:00
fe108af32e Pitch is specified in bytes and always byte aligned. Fixes issue 168. 2011-09-13 17:08:09 +00:00
8b096b4186 Remove unused code. 2011-09-01 22:16:37 +00:00
5d19ff392a Some pitch alignment fixes. Fixes issue 168. 2011-08-26 12:11:38 +00:00
2952480d30 Fix tabs. Fix leak. 2011-06-20 19:09:29 +00:00
66d02325d8 Swap red and blue channels when using stb_image. Fixes issue 164. 2011-06-20 06:45:45 +00:00
69ff14a54c Apply changes suggested in issue 161. 2011-04-30 23:13:07 +00:00
71d53e0d4e Fix leak. 2011-04-22 00:04:29 +00:00
2643a62d4a Undo buffer class. Use plain array for easier debugging. 2011-04-07 07:41:58 +00:00
144a8d6d4b Fix errors in meta data api. 2011-04-06 06:42:22 +00:00
11d04287c9 Fix errors. 2011-04-06 06:42:10 +00:00
76a7adf83e Apply patch suggested in issue 161. 2011-04-06 06:41:57 +00:00
8a837981b6 Merge changes from The Witness. 2011-04-06 02:41:15 +00:00
9ebcff93de More tweaks. 2011-04-06 02:14:32 +00:00
ce8647c51d Tweaks. 2011-04-06 01:56:51 +00:00
43b16d85f4 Use STB image by default.
Add buffer object, try to reduce binary size.
2011-04-02 07:41:55 +00:00
ad7a618222 Start adding ktx file support. 2011-03-22 22:52:43 +00:00
765a0e394a Add more error estimation methods. 2011-03-06 22:23:24 +00:00
1aac4215ff Add stb image. 2011-03-06 22:00:09 +00:00
dfcf8ecf37 Unify project settings. 2011-03-01 03:03:00 +00:00
92d7ebded3 Add dual paraboloid transform. 2011-03-01 03:02:40 +00:00
9302ee2cb0 Add normal encoding test. 2011-02-28 09:49:47 +00:00
28592e73a8 Add normal transforms and reconstruction. 2011-02-28 09:05:28 +00:00
609db2639e Move foreach to its own header. 2011-02-28 09:05:03 +00:00
b74cd8ec97 Add target decoder compression option. 2011-02-28 08:27:24 +00:00
cd6f798b85 tabs to spaces 2011-02-28 08:19:38 +00:00
2338eeb4c0 Add bc6 project. 2011-02-25 09:52:15 +00:00
b72a69f25c Supress msvc warning.
Replace tabs with spaces.
2011-02-25 09:51:09 +00:00
71b88deb2a Add testsuite project. 2011-02-25 09:44:14 +00:00
0a290a64cc Add support for D3D9 and D3D10 decoders. Fixes issue 157. 2011-02-25 09:27:40 +00:00
94dce3b623 Fix vc warnings. 2011-02-25 09:26:27 +00:00
659b684bf2 Update vc9 projects. Hide output directories. 2011-02-25 09:25:46 +00:00
92db15b8d9 Do not compile old quantization code anymore. 2011-01-25 09:18:42 +00:00
12bf7f9346 Implement quantization. 2011-01-25 09:17:53 +00:00
95b5e1decd Cleanup clusterfit. 2011-01-19 07:27:04 +00:00
4f098c4ff9 Workaround GCC error. 2011-01-19 07:26:22 +00:00
4fc1952539 Fix tabs. 2011-01-19 07:25:49 +00:00
5324156cc4 Fix kernel offset. Fixes issue 158. 2011-01-19 07:12:22 +00:00
5f8cd22cdb Merge changes from the-witness. 2011-01-08 04:54:06 +00:00
993e853a5f Set OpenMP compiler flags. 2010-12-10 10:29:43 +00:00
a2f0e566c7 Use task dispatcher provided by user. 2010-12-10 10:29:04 +00:00
66c9729097 Enable openmp. 2010-12-10 02:15:12 +00:00
a607aadf32 Reenable openmp task dispatcher. 2010-12-10 02:14:56 +00:00
8d99f2c6c4 Add tbb code. 2010-12-09 20:57:41 +00:00
f4cf5dd32c Experiments with microsoft concurrency runtime. 2010-12-09 00:37:34 +00:00
f99761c813 Disable new experimental compressor. 2010-12-08 20:11:11 +00:00
34d2631502 Remove duplicate line. 2010-12-08 19:58:14 +00:00
3265c36e14 Reallocate float image data properly. Fixes issue 155. 2010-12-08 19:56:06 +00:00
3ee2c39be4 Generate mipmaps until both extents are 1. Fixes issue 156. 2010-12-08 19:53:59 +00:00
b2f59ea0d7 Fix memory overrun. 2010-12-06 19:28:44 +00:00
260097151d Link against pthreads library on systems that do not include it automatically. Fixes issue 149. 2010-11-30 20:30:11 +00:00
c21fa98ba5 Fix Linux build. 2010-11-26 08:47:48 +00:00
eea2fce447 Workaround powerpc processor detection. 2010-11-26 08:45:00 +00:00
96b757130d Fix build on powerpc/mac. 2010-11-26 07:20:23 +00:00
c51f25f38d concurrency experiments. 2010-11-22 07:34:05 +00:00
0bb3011f7f Add cluster fit implementation based on squish. 2010-11-12 03:35:28 +00:00
af5595c845 Add lightmap tests. 2010-11-12 03:33:47 +00:00
23b140416a Work in progress. Experiment with lightmap compression. 2010-11-12 03:32:46 +00:00
4cbf43165c Undo changes. 2010-11-11 19:53:45 +00:00
d6f6c1f1d4 Undo changes. 2010-11-11 19:52:00 +00:00
1484c667a0 Add missing files. 2010-11-11 19:13:01 +00:00
1f1afe0c33 Add SCIE-Lab error metric. Work in progress. 2010-11-11 19:10:14 +00:00
5cf219a22e Add perceptual color distance function. 2010-11-10 03:28:44 +00:00
26283c8c25 Minor fixes. 2010-11-09 19:34:45 +00:00
49482d1441 Work in progress.
Merging squish into nvtt. 
Using squish only to find endpoints, do discrete refinement afterwards.
2010-11-09 03:38:03 +00:00
c532ffb34e Add lightmap and normal maps. 2010-11-09 01:39:36 +00:00
86ee333c02 Reorganize testsuite files 2010-11-09 01:34:32 +00:00
199fc19277 Replace bmps with pngs. 2010-11-08 19:41:05 +00:00
1d4a2ea710 Testsuite outputs graphs using google api. 2010-11-08 19:03:20 +00:00
5f845513ee Fix msvc warnings and errors.
Test TexImage stuff more througly.
Test YCoCg and RGBM.
2010-11-06 02:34:34 +00:00
c1204bfb66 Fix errors in new implementation of InputOptions.
Output cube map faces in DDS order. Fixes issue 147.
2010-11-05 00:36:50 +00:00
5225f4810f Add stubs for quantization methods. 2010-11-03 18:53:51 +00:00
1e2567e4a3 More work toward 2.1: Implement InputOptions using TexImage. 2010-11-03 18:31:16 +00:00
8838b5220a user file does not appear to be portable. Deleting. 2010-11-03 06:59:22 +00:00
bdf60f16a4 Add qtcreator project file. 2010-11-03 06:50:14 +00:00
5d408c0aa4 Use uname -m to detect processor name. Fixes issue 140. 2010-11-03 06:33:04 +00:00
ea42b83573 Fix linux build errors. 2010-11-02 01:03:19 +00:00
5ae77ae037 Fix warnings. 2010-10-28 05:39:35 +00:00
1c588e3311 Fix some warnings. 2010-10-28 05:39:02 +00:00
4bbf62855c osx/iphone fixes. 2010-10-28 05:38:39 +00:00
188d5043d8 Use tabs. 2010-10-22 05:12:35 +00:00
09e46ead48 Fix some messages. Add support for range scaling in TexImage. 2010-10-22 00:28:46 +00:00
47df8ff7d6 Fix readBlock. Fixes issue 145. 2010-10-21 18:58:49 +00:00
a4356caefe Merge changes from The-Witness. 2010-10-21 18:48:04 +00:00
f0bcbdca5c Fix seek bug. Fixes issue 144. 2010-10-21 18:47:27 +00:00
bd74a9ffc6 Merge changes from the-witness. 2010-10-21 18:44:10 +00:00
5d498d6824 Fix cuda compressor. Start work on new UI. 2010-10-18 08:47:50 +00:00
5d80fb8219 Fix TGA loading using FreeImage. Fixes issue 141. 2010-10-13 17:49:16 +00:00
2bd7db4244 Fix error after changes in Memory.h 2010-10-09 07:45:48 +00:00
25507428c2 Prefer the GLEW static library. 2010-10-06 02:57:35 +00:00
df13c904b2 Stop using custom memory allocators.
Fix aliasing errors. Fixes issue 139 in trunk.
Fix build errors under OSX.
2010-10-06 02:56:35 +00:00
06bf4ea960 Fix typo, fixes issue 137. 2010-09-20 17:14:13 +00:00
765a89951d tabs -> spaces 2010-09-20 06:59:24 +00:00
19f872161e Use posh typedefs.
Enable stacktraces on OS X.
2010-09-20 06:58:20 +00:00
276c608f26 Fix alignment assumptions in DDS loading code. Fixes issue 132.
Merge misc changes from the-witness.
2010-09-07 18:24:50 +00:00
2c969b70a5 Fix mirror sampling in trunk. Fixes issue 135. 2010-09-07 18:08:53 +00:00
e8dc679874 Merge recent changes from the witness. 2010-08-31 01:39:08 +00:00
47e8f23e9f Merge fix for issue 134 into trunk. 2010-08-26 16:46:03 +00:00
83e249a1a0 Use INCLUDE_DIR instead of INCLUDE_PATH. Fixes issue 102. 2010-07-22 14:35:23 +00:00
9e881f28d1 Merge changes from the-witness.
Fix DXT5n compressor.
2010-07-22 10:25:14 +00:00
ac7c017c35 DXT1a single color compressor. Fixes issue 131.
Init single color tables at startup.
2010-07-22 09:23:17 +00:00
da548fd03a Use noinline. 2010-07-13 23:28:31 +00:00
9094756997 Merge changes from the witness. 2010-07-13 03:08:45 +00:00
30b9545d75 Add glew for real this time... 2010-07-01 00:55:39 +00:00
1db253b243 Add glew. 2010-07-01 00:50:31 +00:00
50d80e3b81 Add simple dds file viewer. 2010-07-01 00:26:37 +00:00
e5736fcf92 Add explicit load methods to DirectDrawSurface. 2010-07-01 00:25:44 +00:00
1e0dea0738 Fix build. Minor cleanups. 2010-06-24 07:45:39 +00:00
cfdc731634 Write BC6/BC7 headers in TexImage path. 2010-06-24 07:32:17 +00:00
528b93ab14 Replace tabs with spaces. 2010-06-24 07:17:36 +00:00
39c291e2a6 Fix build. 2010-06-24 07:10:34 +00:00
5c60989043 BC6/7 progress. Work in progress. 2010-06-21 22:23:28 +00:00
f2c581dec1 Remove unused methods. Add float color block. 2010-06-21 22:23:01 +00:00
f9753b649a Fix mingw warning. 2010-06-10 02:30:38 +00:00
11411bae2b Do not compile ui. 2010-06-10 02:30:25 +00:00
42a641f0a5 Fix errors when cuda is not enabled. 2010-06-10 02:30:01 +00:00
b19cd63558 Fix mingw error. 2010-06-10 02:29:04 +00:00
5bb6a54f61 Fix mingw errors/warnings. 2010-06-10 02:28:49 +00:00
82da6ea0a0 Do not enable CUDA under mingw. 2010-06-10 02:27:51 +00:00
7b65595fe2 Add mingw library for FreeImage. 2010-06-10 02:26:41 +00:00
357b91a9b2 Update FindCUDA. 2010-06-10 01:24:19 +00:00
322dcd72c1 Some bug fixes and more progress toward BC6-7 support. 2010-06-03 07:58:03 +00:00
68cbe543b0 Add missing files for previous change.
Some cleanup.
2010-06-03 07:07:37 +00:00
f08e2c4f64 Add alpha map processor. 2010-06-03 05:49:04 +00:00
e5ffd618f7 Replace tabs with spaces. 2010-06-03 00:32:49 +00:00
f233188963 Fix format. 2010-06-01 19:25:49 +00:00
c3bc24b165 Merge changes from 2.0. 2010-06-01 19:23:37 +00:00
caff2c9006 Fix assert when reading paletted TGA images. Fixes issue 125. 2010-06-01 17:51:57 +00:00
da503d2b3e Imperative api is sort of working now. Fixed various bugs. 2010-06-01 02:04:33 +00:00
adbb0c3338 Update vc9 project. 2010-06-01 02:04:09 +00:00
cf62ecc199 Upgrade freeimage. 2010-06-01 02:03:06 +00:00
4b08c20b0e More cleanup. 2010-05-31 08:13:23 +00:00
c8bf853ba4 More cleanup. 2010-05-31 07:41:01 +00:00
9ae9ec1975 Fix power method initial estimate as in squish. 2010-05-31 07:40:08 +00:00
8e074b2e28 Remove executable properties. Add cmake file. 2010-05-30 05:43:14 +00:00
757e372726 Integrate bc6 compressor into nvtt. 2010-05-30 05:40:29 +00:00
cf2b20dd43 Fix build error on OSX. 2010-05-29 05:33:28 +00:00
fd6b8449bf Add bc6 and bc7 compressors from nvidia. 2010-05-29 02:47:57 +00:00
035231a928 Minor changes. 2010-05-28 23:16:06 +00:00
1454cbac14 Fix build. 2010-05-28 07:45:11 +00:00
3956d8a0c2 Merge private changes. 2010-05-27 23:21:10 +00:00
18ad53aa24 Merge private changes. 2010-05-27 23:20:09 +00:00
c09067e477 Merge private branch. 2010-05-27 23:19:24 +00:00
51a4fe7e2d Merge private branch. 2010-05-27 23:18:39 +00:00
e7f2d1e2bc Merge private branch. 2010-05-27 23:18:08 +00:00
56401d5f7d fix polyphase filter 2010-05-27 19:28:49 +00:00
8cbd2c9ec6 Add mipmap scaling according to alphatest coverage. 2010-05-27 00:37:15 +00:00
77bfabca3b Remove experimental callback mechanism. 2010-05-20 05:25:50 +00:00
27f84c5caa Start work on a simple dds viewer. 2010-05-20 05:25:15 +00:00
a32d780347 Experiment with output callbacks instead of handlers. 2010-05-18 17:13:30 +00:00
d38b89edc7 fix comment. 2010-05-18 17:12:36 +00:00
0322f1b54a Add comment. 2010-05-18 17:12:01 +00:00
643 changed files with 125980 additions and 28123 deletions

View File

@ -1,14 +1,27 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0)
PROJECT(NV)
ENABLE_TESTING()
SET(NV_CMAKE_DIR "${NV_SOURCE_DIR}/cmake")
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${NV_CMAKE_DIR}")
# GCC check (needs -std:c++11 flag)
if(CMAKE_COMPILER_IS_GNUCC)
ADD_DEFINITIONS("-std=c++11")
ENDIF(CMAKE_COMPILER_IS_GNUCC)
IF(WIN32)
SET(GNUWIN32 "${NV_SOURCE_DIR}/gnuwin32")
SET(CMAKE_INCLUDE_PATH "${GNUWIN32}/include")
SET(CMAKE_LIBRARY_PATH "${GNUWIN32}/lib")
# gnuwin32 paths:
SET(GNUWIN32_PATH "${NV_SOURCE_DIR}/extern/gnuwin32")
SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${GNUWIN32_PATH}/include")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${GNUWIN32_PATH}/lib")
# Set GLUT path:
SET(GLUT_ROOT_DIR "${NV_SOURCE_DIR}/extern/glut")
# Set FreeImage path:
SET(FREEIMAGE_ROOT_DIR "${NV_SOURCE_DIR}/extern/FreeImage")
ENDIF(WIN32)
INCLUDE(${NV_CMAKE_DIR}/OptimalOptions.cmake)
@ -16,15 +29,52 @@ MESSAGE(STATUS "Setting optimal options")
MESSAGE(STATUS " Processor: ${NV_SYSTEM_PROCESSOR}")
MESSAGE(STATUS " Compiler Flags: ${CMAKE_CXX_FLAGS}")
IF(CMAKE_BUILD_TYPE MATCHES "debug")
SET(CMAKE_DEBUG_POSTFIX "_d" CACHE STRING "Postfix for debug build libraries.")
ENDIF()
IF(NVTT_SHARED)
SET(NVCORE_SHARED TRUE)
SET(NVMATH_SHARED TRUE)
SET(NVIMAGE_SHARED TRUE)
ENDIF(NVTT_SHARED)
ADD_SUBDIRECTORY(extern)
ADD_SUBDIRECTORY(src)
# These files should only be installed when creating packages.
INSTALL(FILES
LICENSE
README.md
DESTINATION share/doc/nvtt)
# Add packaging support
INCLUDE(InstallRequiredSystemLibraries)
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
SET(CPACK_GENERATOR "TGZ;DEB")
ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
SET(CPACK_PACKAGE_NAME "nvidia-texture-tools")
SET(CPACK_PACKAGE_VERSION_MAJOR "2")
SET(CPACK_PACKAGE_VERSION_MINOR "1")
SET(CPACK_PACKAGE_VERSION_PATCH "0")
SET(CPACK_PACKAGE_VERSION "2.1.0")
SET(CPACK_PACKAGE_CONTACT "Ignacio Casta<74>o <castano@gmail.com>")
#SET(CPACK_PACKAGE_VENDOR "NVIDIA Corporation")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Texture processing tools with support for Direct3D 10 and 11 formats.")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${NV_SOURCE_DIR}/README.md")
SET(CPACK_RESOURCE_FILE_LICENSE "${NV_SOURCE_DIR}/LICENSE")
# NSIS options:
IF(WIN32)
ADD_SUBDIRECTORY(gnuwin32)
SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_VENDOR}\\\\NVIDIA Texture Tools 2.1")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}\\\\NVIDIA Texture Tools 2.1")
SET(CPACK_PACKAGE_ICON "${NV_SOURCE_DIR}\\\\project\\\\vc8\\\\nvcompress\\\\nvidia.ico")
ENDIF(WIN32)
INCLUDE(CPack)

View File

@ -1,15 +1,22 @@
NVIDIA Texture Tools version 2.0.8
* Fix float to fixed image conversion. Patch provided by Alex Pfaffe. Fixes issue 121.
* ColorBlock::isSingleColor compares only RGB channels. Fixes issue 115.
* Fix cmake build in msvc. Fixes issue 111.
* Better estimate principal component. Fixes issue 120.
NVIDIA Texture Tools version 2.1.0
* Too many changes to list here.
* CTX1 CUDA compressor.
* DXT1n CUDA compressor.
* Support alpha premultiplication by Charles Nicholson. See issue 30.
* Improved decompressor tool submitted by Amorilia. See issue 41.
* Add support for YCoCg color transform. Fixes issue 18.
* Add support for linear and swizzle transforms. Fixes issue 4.
* Fix loading of EXR files using OpenEXR.
* Use FreeImage as primary image loading library. Fixes issue 31. Reverted.
* Output swizzle codes like AMD's tools.
* Added support for saving PNGs by Frank Richter. Fixes issue 79 and 80.
* Added gnome thumbnailer by Frank Richter. Fixes issue 82.
* Cleanup sources removing files that are not strictly required.
NVIDIA Texture Tools version 2.0.7
* Output correct exit codes. Fixes issue 92.
* Fix thread-safety errors. Fixes issue 90.
* Add SIMD power method. Fixes issue 94.
* Interact better with applications that already use CUDA.
* Faster CPU compression.
NVIDIA Texture Tools version 2.0.6
* Fix dll version checking.

View File

@ -1,6 +1,7 @@
NVIDIA Texture Tools 2.0 is licensed under the MIT license.
NVIDIA Texture Tools is licensed under the MIT license.
Copyright (c) 2007 NVIDIA Corporation
Copyright (c) 2009-2016 Ignacio Castano
Copyright (c) 2007-2009 NVIDIA Corporation
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation

View File

@ -1,167 +0,0 @@
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
NVIDIA Texture Tools
README.txt
Version 2.0
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
TABLE OF CONTENTS
--------------------------------------------------------------------------------
I. Instructions
II. Contents
III. Compilation Instructions
IV. Using NVIDIA Texture Tools in your own applications
V. Known Issues
VI. Frequently Asked Questions
--------------------------------------------------------------------------------
I. Introduction
--------------------------------------------------------------------------------
This is our first alpha release of our new Texture Tools. The main highlights of
this release are support for all DX10 texture formats, higher speed and improved
compression quality.
In addition to that it also comes with a hardware accelerated compressor that
uses CUDA to compress blocks in parallel on the GPU and runs around 10 times
faster than the CPU counterpart.
You can obtain CUDA from our developer site at:
http://developer.nvidia.com/object/cuda.html
The source code of the Texture Tools is being released under the terms of
the MIT license.
II. Contents
--------------------------------------------------------------------------------
This release contains only the source code of the texture compression library
and an example commandline application that shows its use.
III. Compilation Instructions
--------------------------------------------------------------------------------
The compression library and the example can be compiled with Visual Studio 8 on
Windows using the following solution file:
project\vc8\nvtt.sln
On most other platforms you can also use cmake. For more information about
cmake, visit:
http://www.cmake.org/
On unix systems you can use the standard build procedure (assuming cmake is
installed on your system):
$ ./configure
$ make
$ sudo make install
IV. Using NVIDIA Texture Tools
--------------------------------------------------------------------------------
To use the NVIDIA Texture Tools in your own applications you just have to
include the following header file:
src/nvimage/nvtt/nvtt.h
And include the nvtt library in your projects.
The following file contains a simple example that shows how to use the library:
src/nvimage/nvtt/compress.cpp
The usage of the commandline tool is the following:
$ nvcompress [options] infile [outfile]
where 'infile' is and TGA, PNG, PSD, DDS or JPG file, 'outfile' is a DDS file
and 'options' is one or more of the following:
Input options:
-color The input image is a color map (default).
-normal The input image is a normal map.
-tonormal Convert input to normal map.
-clamp Clamp wrapping mode (default).
-repeat Repeat wrapping mode.
-nomips Disable mipmap generation.
Compression options:
-fast Fast compression.
-nocuda Do not use cuda compressor.
-rgb RGBA format
-bc1 BC1 format (DXT1)
-bc2 BC2 format (DXT3)
-bc3 BC3 format (DXT5)
-bc3n BC3 normal map format (DXT5n/RXGB)
-bc4 BC4 format (ATI1)
-bc5 BC5 format (3Dc/ATI2)
In order to run the compiled example on a PC that doesn't have Microsoft Visual
Studio 2003 installed, you will have to install the Microsoft Visual Studio 2003
redistributable package that you can download at:
http://go.microsoft.com/fwlink/?linkid=65127&clcid=0x409
V. Known Issues
--------------------------------------------------------------------------------
None so far. Please send suggestions and bug reports to:
TextureTools@nvidia.com
or report them at:
http://code.google.com/p/nvidia-texture-tools/issues/list
VI. Frequently Asked Questions
--------------------------------------------------------------------------------
- Do the NVIDIA Texture Tools work on OSX?
It currently compiles and runs properly, but it has not been tested extensively.
In particular there may be endiannes errors in the code.
- Do the NVIDIA Texture Tools work on Linux?
Yes.
- Do the NVIDIA Texture Tools work on Vista?
Yes, but note that CUDA is not supported on Vista yet, so the tool is not hardware
accelerated.
- Is CUDA required?
No. The Visual Studio solution file contains a configuration that allows you
to compile the texture tools without CUDA support. The cmake scripts automatically
detect the CUDA installation and use it only when available.
- Where can I get CUDA?
http://developer.nvidia.com/object/cuda.html
- Why is feature XYZ not supported?
In order to keep the code small and reduce maintenance costs we have limited the
features available in our new texture tools. We also have open sourced the code, so
that people can modify it and add their own favourite features.
- Can I use the NVIDIA Texture Tools in my commercial application?
Yes, the NVIDIA Texture Tools are licensed under the MIT license.
- Can I use the NVIDIA Texture Tools in my GPL application?
Yes, the MIT license is compatible with the GPL and LGPL licenses.

46
README.md Normal file
View File

@ -0,0 +1,46 @@
NVIDIA Texture Tools
====================
The NVIDIA Texture Tools is a collection of image processing and texture
manipulation tools, designed to be integrated in game tools and asset
processing pipelines.
The primary features of the library are mipmap and normal map generation, format
conversion and DXT compression.
### How to build (Windows)
Open `project/vc12/thekla.sln` using Visual Studio.
Solutions for previous versions are also available, but they may not be up to date.
### How to build (Linux/OSX)
Use [cmake](http://www.cmake.org/) and the provided configure script:
```bash
$ ./configure
$ make
$ sudo make install
```
### Using NVIDIA Texture Tools
To use the NVIDIA Texture Tools in your own applications you just have to
include the following header file:
src/nvimage/nvtt/nvtt.h
And include the nvtt library in your projects.
The following file contains a simple example that shows how to use the library:
src/nvimage/nvtt/compress.cpp
Detailed documentation of the API can be found at:
http://code.google.com/p/nvidia-texture-tools/wiki/ApiDocumentation

View File

@ -1 +1 @@
2.0.8
2.1.0

View File

@ -2,6 +2,9 @@
tar zcvf nvidia-texture-tools-`cat VERSION`.tar.gz \
--exclude '.*' --exclude debian --exclude '*~' --exclude buildpkg \
--exclude build --exclude data --exclude tags --exclude Makefile \
--exclude 'nvidia-texture-tools-*.tar.gz' \
--transform 's,^,nvidia-texture-tools/,' *
--exclude 'build-*' --exclude data --exclude tags --exclude Makefile \
--exclude 'doc' --exclude 'nvidia-texture-tools-*.tar.gz' \
--exclude '*.user' -s ',^,nvidia-texture-tools/,' *
# --exclude '*.user' --transform 's,^,nvidia-texture-tools/,' *
# --exclude '*.user' *

View File

@ -5,24 +5,68 @@ SET(NV_SYSTEM_PROCESSOR "i586")
IF(UNIX)
FIND_PROGRAM(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
IF(CMAKE_UNAME)
EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE NV_SYSTEM_PROCESSOR RETURN_VALUE val)
#EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE NV_SYSTEM_PROCESSOR RETURN_VALUE val)
IF("${val}" GREATER 0 OR NV_SYSTEM_PROCESSOR STREQUAL "unknown")
#IF("${val}" GREATER 0 OR NV_SYSTEM_PROCESSOR STREQUAL "unknown")
EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE NV_SYSTEM_PROCESSOR RETURN_VALUE val)
ENDIF("${val}" GREATER 0 OR NV_SYSTEM_PROCESSOR STREQUAL "unknown")
#ENDIF("${val}" GREATER 0 OR NV_SYSTEM_PROCESSOR STREQUAL "unknown")
IF(NV_SYSTEM_PROCESSOR STREQUAL "Power Macintosh")
SET(NV_SYSTEM_PROCESSOR "powerpc")
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "Power Macintosh")
# processor may have double quote in the name, and that needs to be removed
STRING(REGEX REPLACE "\"" "" NV_SYSTEM_PROCESSOR "${NV_SYSTEM_PROCESSOR}")
STRING(REGEX REPLACE "/" "_" NV_SYSTEM_PROCESSOR "${NV_SYSTEM_PROCESSOR}")
ENDIF(CMAKE_UNAME)
# Get extended processor information with:
# `cat /proc/cpuinfo`
#~ # Get extended processor information from /proc/cpuinfo
#~ IF(EXISTS "/proc/cpuinfo")
#~ FILE(READ /proc/cpuinfo PROC_CPUINFO)
#~ SET(VENDOR_ID_RX "vendor_id[ \t]*:[ \t]*([a-zA-Z]+)\n")
#~ STRING(REGEX MATCH "${VENDOR_ID_RX}" VENDOR_ID "${PROC_CPUINFO}")
#~ STRING(REGEX REPLACE "${VENDOR_ID_RX}" "\\1" VENDOR_ID "${VENDOR_ID}")
#~ SET(CPU_FAMILY_RX "cpu family[ \t]*:[ \t]*([0-9]+)")
#~ STRING(REGEX MATCH "${CPU_FAMILY_RX}" CPU_FAMILY "${PROC_CPUINFO}")
#~ STRING(REGEX REPLACE "${CPU_FAMILY_RX}" "\\1" CPU_FAMILY "${CPU_FAMILY}")
#~ SET(MODEL_RX "model[ \t]*:[ \t]*([0-9]+)")
#~ STRING(REGEX MATCH "${MODEL_RX}" MODEL "${PROC_CPUINFO}")
#~ STRING(REGEX REPLACE "${MODEL_RX}" "\\1" MODEL "${MODEL}")
#~ SET(FLAGS_RX "flags[ \t]*:[ \t]*([a-zA-Z0-9 _]+)\n")
#~ STRING(REGEX MATCH "${FLAGS_RX}" FLAGS "${PROC_CPUINFO}")
#~ STRING(REGEX REPLACE "${FLAGS_RX}" "\\1" FLAGS "${FLAGS}")
#~ # Debug output.
#~ IF(LINUX_CPUINFO)
#~ MESSAGE(STATUS "LinuxCPUInfo.cmake:")
#~ MESSAGE(STATUS "VENDOR_ID : ${VENDOR_ID}")
#~ MESSAGE(STATUS "CPU_FAMILY : ${CPU_FAMILY}")
#~ MESSAGE(STATUS "MODEL : ${MODEL}")
#~ MESSAGE(STATUS "FLAGS : ${FLAGS}")
#~ ENDIF(LINUX_CPUINFO)
#~ ENDIF(EXISTS "/proc/cpuinfo")
#~ # Information on how to decode CPU_FAMILY and MODEL:
#~ # http://balusc.xs4all.nl/srv/har-cpu-int-pm.php
ELSE(UNIX)
IF(WIN32)
SET (NV_SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITECTURE}")
# It's not OK to trust $ENV{PROCESSOR_ARCHITECTURE}: its value depends on the type of executable being run,
# so a 32-bit cmake (the default binary distribution) will always say "x86" regardless of the actual target.
IF (CMAKE_SIZEOF_VOID_P EQUAL 8)
SET (NV_SYSTEM_PROCESSOR "x86_64")
ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8)
SET (NV_SYSTEM_PROCESSOR "x86")
ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
ENDIF(WIN32)
ENDIF(UNIX)

View File

@ -1,142 +0,0 @@
#
# Try to find CUDA compiler, runtime libraries, and include path.
# Once done this will define
#
# CUDA_FOUND
# CUDA_INCLUDE_PATH
# CUDA_RUNTIME_LIBRARY
# CUDA_COMPILER
#
# It will also define the following macro:
#
# WRAP_CUDA
#
IF (WIN32)
FIND_PROGRAM (CUDA_COMPILER nvcc.exe
$ENV{CUDA_BIN_PATH}
DOC "The CUDA Compiler")
ELSE(WIN32)
FIND_PROGRAM (CUDA_COMPILER nvcc
$ENV{CUDA_BIN_PATH}
/usr/local/cuda/bin
DOC "The CUDA Compiler")
ENDIF(WIN32)
IF (CUDA_COMPILER)
GET_FILENAME_COMPONENT (CUDA_COMPILER_DIR ${CUDA_COMPILER} PATH)
GET_FILENAME_COMPONENT (CUDA_COMPILER_SUPER_DIR ${CUDA_COMPILER_DIR} PATH)
ELSE (CUDA_COMPILER)
SET (CUDA_COMPILER_DIR .)
SET (CUDA_COMPILER_SUPER_DIR ..)
ENDIF (CUDA_COMPILER)
FIND_PATH (CUDA_INCLUDE_PATH cuda_runtime.h
$ENV{CUDA_INC_PATH}
${CUDA_COMPILER_SUPER_DIR}/include
${CUDA_COMPILER_DIR}
DOC "The directory where CUDA headers reside")
FIND_LIBRARY (CUDA_RUNTIME_LIBRARY
NAMES cudart
PATHS
$ENV{CUDA_LIB_PATH}
${CUDA_COMPILER_SUPER_DIR}/lib
${CUDA_COMPILER_DIR}
DOC "The CUDA runtime library")
IF (CUDA_INCLUDE_PATH AND CUDA_RUNTIME_LIBRARY)
SET (CUDA_FOUND TRUE)
ELSE (CUDA_INCLUDE_PATH AND CUDA_RUNTIME_LIBRARY)
SET (CUDA_FOUND FALSE)
ENDIF (CUDA_INCLUDE_PATH AND CUDA_RUNTIME_LIBRARY)
SET (CUDA_LIBRARIES ${CUDA_RUNTIME_LIBRARY})
MARK_AS_ADVANCED (CUDA_FOUND CUDA_COMPILER CUDA_RUNTIME_LIBRARY)
#SET(CUDA_OPTIONS "-ncfe")
SET(CUDA_OPTIONS "--host-compilation=C")
IF (CUDA_EMULATION)
SET (CUDA_OPTIONS "${CUDA_OPTIONS} -deviceemu")
ENDIF (CUDA_EMULATION)
# Get include directories.
MACRO(GET_CUDA_INC_DIRS _cuda_INC_DIRS)
SET(${_cuda_INC_DIRS})
GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
FOREACH(_current ${_inc_DIRS})
SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${_current})
ENDFOREACH(_current ${_inc_DIRS})
SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${CUDA_INCLUDE_PATH})
# IF (CMAKE_SYTEM_INCLUDE_PATH)
# SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${CMAKE_SYSTEM_INCLUDE_PATH})
# ENDIF (CMAKE_SYTEM_INCLUDE_PATH)
# IF (CMAKE_INCLUDE_PATH)
# SET(${_cuda_INC_DIRS} ${${_cuda_INC_DIRS}} "-I" ${CMAKE_INCLUDE_PATH})
# ENDIF (CMAKE_INCLUDE_PATH)
ENDMACRO(GET_CUDA_INC_DIRS)
# Get file dependencies.
MACRO (GET_CUFILE_DEPENDENCIES dependencies file)
GET_FILENAME_COMPONENT(filepath ${file} PATH)
# parse file for dependencies
FILE(READ "${file}" CONTENTS)
#STRING(REGEX MATCHALL "#[ \t]*include[ \t]+[<\"][^>\"]*" DEPS "${CONTENTS}")
STRING(REGEX MATCHALL "#[ \t]*include[ \t]+\"[^\"]*" DEPS "${CONTENTS}")
SET(${dependencies})
FOREACH(DEP ${DEPS})
STRING(REGEX REPLACE "#[ \t]*include[ \t]+\"" "" DEP "${DEP}")
FIND_PATH(PATH_OF_${DEP} ${DEP}
${filepath})
IF(NOT ${PATH_OF_${DEP}} STREQUAL PATH_OF_${DEP}-NOTFOUND)
#MESSAGE("${file} : ${PATH_OF_${DEP}}/${DEP}")
SET(${dependencies} ${${dependencies}} ${PATH_OF_${DEP}}/${DEP})
ENDIF(NOT ${PATH_OF_${DEP}} STREQUAL PATH_OF_${DEP}-NOTFOUND)
ENDFOREACH(DEP)
ENDMACRO (GET_CUFILE_DEPENDENCIES)
# WRAP_CUDA(outfile ...)
MACRO (WRAP_CUDA outfiles)
GET_CUDA_INC_DIRS(cuda_includes)
#MESSAGE(${cuda_includes})
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)
GET_CUFILE_DEPENDENCIES(CUDEPS ${CUFILE})
#MESSAGE("${CUDEPS}")
ADD_CUSTOM_COMMAND (
OUTPUT ${CFILE}
COMMAND ${CUDA_COMPILER}
ARGS -cuda ${cuda_includes} ${CUDA_OPTIONS} -o ${CFILE} ${CUFILE}
MAIN_DEPENDENCY ${CUFILE}
DEPENDS ${CUDEPS})
#MACRO_ADD_FILE_DEPENDENCIES(${CUFILE} ${CFILE})
SET (${outfiles} ${${outfiles}} ${CFILE})
ENDFOREACH (CUFILE)
SET_SOURCE_FILES_PROPERTIES(${outfiles} PROPERTIES GENERATED 1)
ENDMACRO (WRAP_CUDA)

View File

@ -3,14 +3,13 @@
# Once done this will define
#
# CG_FOUND =system has NVIDIA Cg and it can be used.
# CG_INCLUDE_PATH = directory where cg.h resides
# CG_INCLUDE_DIR = directory where cg.h resides
# CG_LIBRARY = full path to libCg.so (Cg.DLL on win32)
# CG_GL_LIBRARY = full path to libCgGL.so (CgGL.dll on win32)
# CG_COMPILER = full path to cgc (cgc.exe on win32)
#
# On OSX default to using the framework version of Cg.
IF (APPLE)
INCLUDE(${CMAKE_ROOT}/Modules/CMakeFindFrameworks.cmake)
SET(CG_FRAMEWORK_INCLUDES)
@ -22,7 +21,7 @@ IF (APPLE)
ENDFOREACH(dir)
# Find the include dir
FIND_PATH(CG_INCLUDE_PATH cg.h
FIND_PATH(CG_INCLUDE_DIR cg.h
${CG_FRAMEWORK_INCLUDES}
)
@ -38,13 +37,25 @@ IF (APPLE)
)
ELSE (APPLE)
IF (WIN32)
# When compiling 64-bit programs, the binaries and libs are in bin.x64 and lib.x64 directories,
# This will have only effect for 64bit versions of cmake, when running the default 32bit version
# both ProgramFiles and ProgramFiles(x86) point to the same place in Win64
SET(PFx86_VARNAME "ProgramFiles(x86)")
SET(PFx86 $ENV{${PFx86_VARNAME}})
# Let's play safe in case we are cross compiling to 64 bit: for cgc it doesn't really matter
FIND_PROGRAM( CG_COMPILER cgc
$ENV{CG_BIN64_PATH}
$ENV{CG_BIN_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/bin
$ENV{PFx86}/NVIDIA\ Corporation/Cg/bin
$ENV{PROGRAMFILES}/Cg
${PROJECT_SOURCE_DIR}/../Cg
DOC "The Cg Compiler"
)
IF (CG_COMPILER)
GET_FILENAME_COMPONENT(CG_COMPILER_DIR ${CG_COMPILER} PATH)
GET_FILENAME_COMPONENT(CG_COMPILER_SUPER_DIR ${CG_COMPILER_DIR} PATH)
@ -52,7 +63,7 @@ ELSE (APPLE)
SET (CG_COMPILER_DIR .)
SET (CG_COMPILER_SUPER_DIR ..)
ENDIF (CG_COMPILER)
FIND_PATH( CG_INCLUDE_PATH Cg/cg.h
FIND_PATH( CG_INCLUDE_DIR Cg/cg.h
$ENV{CG_INC_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/include
$ENV{PROGRAMFILES}/Cg
@ -61,6 +72,35 @@ ELSE (APPLE)
${CG_COMPILER_DIR}
DOC "The directory where Cg/cg.h resides"
)
IF (NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
FIND_LIBRARY( CG_LIBRARY
NAMES Cg
PATHS
$ENV{CG_LIB64_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib.x64
$ENV{PFx86}/NVIDIA\ Corporation/Cg/lib.x64
$ENV{PROGRAMFILES}/Cg
$ENV{PFx86}/Cg
${PROJECT_SOURCE_DIR}/../Cg
${CG_COMPILER_SUPER_DIR}/lib.x64
${CG_COMPILER_DIR}
DOC "The Cg runtime library (64-bit)"
)
FIND_LIBRARY( CG_GL_LIBRARY
NAMES CgGL
PATHS
$ENV{CG_LIB64_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib.x64
$ENV{PFx86}/NVIDIA\ Corporation/Cg/lib.x64
$ENV{PROGRAMFILES}/Cg
$ENV{PFx86}/Cg
${PROJECT_SOURCE_DIR}/../Cg
${CG_COMPILER_SUPER_DIR}/lib.x64
${CG_COMPILER_DIR}
DOC "The Cg GL runtime library (64-bit)"
)
ELSE(NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
FIND_LIBRARY( CG_LIBRARY
NAMES Cg
PATHS
@ -75,13 +115,16 @@ ELSE (APPLE)
FIND_LIBRARY( CG_GL_LIBRARY
NAMES CgGL
PATHS
$ENV{CG_LIB_PATH}
$ENV{PROGRAMFILES}/NVIDIA\ Corporation/Cg/lib
$ENV{PROGRAMFILES}/Cg
${PROJECT_SOURCE_DIR}/../Cg
${CG_COMPILER_SUPER_DIR}/lib
${CG_COMPILER_DIR}
DOC "The Cg runtime library"
DOC "The Cg GL runtime library"
)
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
ELSE (WIN32)
FIND_PROGRAM( CG_COMPILER cgc
/usr/bin
@ -90,7 +133,7 @@ ELSE (APPLE)
)
GET_FILENAME_COMPONENT(CG_COMPILER_DIR "${CG_COMPILER}" PATH)
GET_FILENAME_COMPONENT(CG_COMPILER_SUPER_DIR "${CG_COMPILER_DIR}" PATH)
FIND_PATH( CG_INCLUDE_PATH Cg/cg.h
FIND_PATH( CG_INCLUDE_DIR Cg/cg.h
/usr/include
/usr/local/include
${CG_COMPILER_SUPER_DIR}/include
@ -120,10 +163,10 @@ ELSE (APPLE)
ENDIF (WIN32)
ENDIF (APPLE)
IF (CG_INCLUDE_PATH)
IF (CG_INCLUDE_DIR)
SET( CG_FOUND 1 CACHE STRING "Set to 1 if CG is found, 0 otherwise")
ELSE (CG_INCLUDE_PATH)
ELSE (CG_INCLUDE_DIR)
SET( CG_FOUND 0 CACHE STRING "Set to 1 if CG is found, 0 otherwise")
ENDIF (CG_INCLUDE_PATH)
ENDIF (CG_INCLUDE_DIR)
MARK_AS_ADVANCED( CG_FOUND )

53
cmake/FindFreeImage.cmake Normal file
View File

@ -0,0 +1,53 @@
#
# Try to find the FreeImage library and include path.
# Once done this will define
#
# FREEIMAGE_FOUND
# FREEIMAGE_INCLUDE_PATH
# FREEIMAGE_LIBRARY
#
IF (WIN32)
FIND_PATH( FREEIMAGE_INCLUDE_PATH FreeImage.h
${FREEIMAGE_ROOT_DIR}/include
${FREEIMAGE_ROOT_DIR}
DOC "The directory where FreeImage.h resides")
FIND_LIBRARY( FREEIMAGE_LIBRARY
NAMES FreeImage freeimage
PATHS
${FREEIMAGE_ROOT_DIR}/lib
${FREEIMAGE_ROOT_DIR}
DOC "The FreeImage library")
ELSE (WIN32)
FIND_PATH( FREEIMAGE_INCLUDE_PATH FreeImage.h
/usr/include
/usr/local/include
/sw/include
/opt/local/include
DOC "The directory where FreeImage.h resides")
FIND_LIBRARY( FREEIMAGE_LIBRARY
NAMES FreeImage freeimage
PATHS
/usr/lib64
/usr/lib
/usr/local/lib64
/usr/local/lib
/sw/lib
/opt/local/lib
DOC "The FreeImage library")
ENDIF (WIN32)
SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARY})
IF (FREEIMAGE_INCLUDE_PATH AND FREEIMAGE_LIBRARY)
SET( FREEIMAGE_FOUND TRUE CACHE BOOL "Set to TRUE if FreeImage is found, FALSE otherwise")
ELSE (FREEIMAGE_INCLUDE_PATH AND FREEIMAGE_LIBRARY)
SET( FREEIMAGE_FOUND FALSE CACHE BOOL "Set to TRUE if FreeImage is found, FALSE otherwise")
ENDIF (FREEIMAGE_INCLUDE_PATH AND FREEIMAGE_LIBRARY)
MARK_AS_ADVANCED(
FREEIMAGE_FOUND
FREEIMAGE_LIBRARY
FREEIMAGE_LIBRARIES
FREEIMAGE_INCLUDE_PATH)

View File

@ -10,8 +10,9 @@
IF (WIN32)
FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
$ENV{PROGRAMFILES}/GLEW/include
${PROJECT_SOURCE_DIR}/src/nvgl/glew/include
${GLEW_ROOT_DIR}/include
DOC "The directory where GL/glew.h resides")
FIND_LIBRARY( GLEW_LIBRARY
NAMES glew GLEW glew32 glew32s
PATHS
@ -25,9 +26,12 @@ ELSE (WIN32)
/usr/local/include
/sw/include
/opt/local/include
${GLEW_ROOT_DIR}/include
DOC "The directory where GL/glew.h resides")
# Prefer the static library.
FIND_LIBRARY( GLEW_LIBRARY
NAMES GLEW glew
NAMES libGLEW.a GLEW
PATHS
/usr/lib64
/usr/lib
@ -35,13 +39,12 @@ ELSE (WIN32)
/usr/local/lib
/sw/lib
/opt/local/lib
${GLEW_ROOT_DIR}/lib
DOC "The GLEW library")
ENDIF (WIN32)
IF (GLEW_INCLUDE_PATH)
SET( GLEW_FOUND 1 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
ELSE (GLEW_INCLUDE_PATH)
SET( GLEW_FOUND 0 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
ENDIF (GLEW_INCLUDE_PATH)
MARK_AS_ADVANCED( GLEW_FOUND )
SET(GLEW_FOUND "NO")
IF (GLEW_INCLUDE_PATH AND GLEW_LIBRARY)
SET(GLEW_LIBRARIES ${GLEW_LIBRARY})
SET(GLEW_FOUND "YES")
ENDIF (GLEW_INCLUDE_PATH AND GLEW_LIBRARY)

View File

@ -1,127 +0,0 @@
# - try to find glut library and include files
# GLUT_INCLUDE_DIR, where to find GL/glut.h, etc.
# GLUT_LIBRARIES, the libraries to link against
# GLUT_FOUND, If false, do not try to use GLUT.
# Also defined, but not for general use are:
# GLUT_glut_LIBRARY = the full path to the glut library.
# GLUT_Xmu_LIBRARY = the full path to the Xmu library.
# GLUT_Xi_LIBRARY = the full path to the Xi Library.
IF (WIN32)
IF(CYGWIN)
FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
/usr/include
)
FIND_LIBRARY( GLUT_glut_LIBRARY glut32
${OPENGL_LIBRARY_DIR}
/usr/lib
/usr/lib/w32api
/usr/local/lib
/usr/X11R6/lib
)
ELSE(CYGWIN)
# FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
# ${GLUT_ROOT_PATH}/include
# )
# FIND_LIBRARY( GLUT_glut_LIBRARY glut32
# ${GLUT_ROOT_PATH}/lib
# ${OPENGL_LIBRARY_DIR}
# )
FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
${GLUT_ROOT_PATH}/include
${PROJECT_SOURCE_DIR}/src/nvgl/glut/include
DOC "The directory where GL/glut.h resides")
FIND_LIBRARY( GLUT_glut_LIBRARY
NAMES glut GLUT glut32 glut32s
PATHS
${GLUT_ROOT_PATH}/lib
${PROJECT_SOURCE_DIR}/src/nvgl/glut/bin
${PROJECT_SOURCE_DIR}/src/nvgl/glut/lib
${OPENGL_LIBRARY_DIR}
DOC "The GLUT library")
ENDIF(CYGWIN)
ELSE (WIN32)
IF (APPLE)
# These values for Apple could probably do with improvement.
FIND_PATH( GLUT_INCLUDE_DIR glut.h
/System/Library/Frameworks/GLUT.framework/Versions/A/Headers
${OPENGL_LIBRARY_DIR}
)
SET(GLUT_glut_LIBRARY "-framework Glut" CACHE STRING "GLUT library for OSX")
SET(GLUT_cocoa_LIBRARY "-framework Cocoa" CACHE STRING "Cocoa framework for OSX")
ELSE (APPLE)
FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
/usr/include
/usr/include/GL
/usr/local/include
/usr/openwin/share/include
/usr/openwin/include
/usr/X11R6/include
/usr/include/X11
/opt/graphics/OpenGL/include
/opt/graphics/OpenGL/contrib/libglut
)
FIND_LIBRARY( GLUT_glut_LIBRARY glut
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
)
FIND_LIBRARY( GLUT_Xi_LIBRARY Xi
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
)
FIND_LIBRARY( GLUT_Xmu_LIBRARY Xmu
/usr/lib
/usr/local/lib
/usr/openwin/lib
/usr/X11R6/lib
)
ENDIF (APPLE)
ENDIF (WIN32)
SET( GLUT_FOUND "NO" )
IF(GLUT_INCLUDE_DIR)
IF(GLUT_glut_LIBRARY)
# Is -lXi and -lXmu required on all platforms that have it?
# If not, we need some way to figure out what platform we are on.
SET( GLUT_LIBRARIES
${GLUT_glut_LIBRARY}
${GLUT_Xmu_LIBRARY}
${GLUT_Xi_LIBRARY}
${GLUT_cocoa_LIBRARY}
)
SET( GLUT_FOUND "YES" )
#The following deprecated settings are for backwards compatibility with CMake1.4
SET (GLUT_LIBRARY ${GLUT_LIBRARIES})
SET (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR})
ENDIF(GLUT_glut_LIBRARY)
ENDIF(GLUT_INCLUDE_DIR)
MARK_AS_ADVANCED(
GLUT_INCLUDE_DIR
GLUT_glut_LIBRARY
GLUT_Xmu_LIBRARY
GLUT_Xi_LIBRARY
)

View File

@ -9,9 +9,10 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "i586")
IF(NV_SYSTEM_PROCESSOR STREQUAL "i686")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i686")
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i686")
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse -mtune=i686 -msse3")
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=pentium4")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=prescott")
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "i686")
IF(NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
@ -20,12 +21,30 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "x86_64")
IF(NV_SYSTEM_PROCESSOR STREQUAL "powerpc")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=powerpc -maltivec -mabi=altivec -mpowerpc-gfxopt")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=powerpc -faltivec -maltivec -mabi=altivec -mpowerpc-gfxopt")
# ibook G4:
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -mpowerpc-gfxopt")
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=7450 -mtune=7450 -faltivec -maltivec -mabi=altivec -mpowerpc-gfxopt")
# G5
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=G5 -faltivec -maltivec -mabi=altivec -mpowerpc-gfxopt")
ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "powerpc")
# IF(DARWIN)
# SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk")
# SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk")
# ENDIF(DARWIN)
IF(APPLE)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch i586 -arch x86_64 -msse3 -mmacosx-version-min=10.5")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch i586 -arch x86_64 -msse3 -mmacosx-version-min=10.5")
ENDIF(APPLE)
IF(CMAKE_BUILD_TYPE STREQUAL "debug")
ADD_DEFINITIONS(-D_DEBUG)
ENDIF(CMAKE_BUILD_TYPE STREQUAL "debug")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
IF(MSVC)

25
configure vendored
View File

@ -18,7 +18,7 @@ fi
help=false
build="Debug" # release
build="debug" # release
prefix=/usr/local
# Parse the args
@ -26,9 +26,8 @@ for i in "$@"
do
case $i in
--help ) help=true ;;
--debug ) build="Debug" ;;
--release ) build="Release" ;;
--prefix=* ) prefix="${i#--prefix=}" ;;
--debug ) build="debug" ;;
--release ) build="release" ;;
--prefix=* ) prefix="${i#--prefix=}" ;;
* ) echo "Unrecognised argument $i" ;;
esac
@ -51,9 +50,9 @@ fi
echo "-- Configuring nvidia-texture-tools "`cat VERSION`
mkdir -p ./build
cd ./build
$CMAKE .. -DNVTT_SHARED=1 -DCMAKE_BUILD_TYPE=$build -DCMAKE_INSTALL_PREFIX=$prefix -G "Unix Makefiles" || exit 1
mkdir -p ./build-$build
cd ./build-$build
$CMAKE .. -DNVTT_SHARED=0 -DCMAKE_BUILD_TYPE=$build -DCMAKE_INSTALL_PREFIX=$prefix -G "Unix Makefiles" || exit 1
cd ..
echo ""
@ -62,11 +61,15 @@ echo ""
cat > Makefile << EOF
all:
@make --no-print-directory -C build/
@+make --no-print-directory -C build-$build/
install:
@make install --no-print-directory -C build/
@+make install --no-print-directory -C build-$build/
package:
@+make package --no-print-directory -C build-$build/
test:
@+make test --no-print-directory -C build-$build/
clean:
@make clean --no-print-directory -C build/
@+make clean --no-print-directory -C build-$build/
distclean:
@rm -Rf build/
@rm -Rf build-$build/
EOF

BIN
data/bugs/85/Sky.tga Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
data/bugs/85/sky_dither.dds Normal file

Binary file not shown.

BIN
data/bugs/85/sky_error.dds Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

95
data/bugs/85/tables.cpp Normal file
View File

@ -0,0 +1,95 @@
#include <stdio.h>
#include <stdlib.h>
typedef unsigned char uint8;
static int Mul8Bit(int a, int b)
{
int t = a * b + 128;
return (t + (t >> 8)) >> 8;
}
// this exactly matches the (fm*2 + to)/3
static inline int Lerp13_16bit(int fm, int to)
{
int t = fm * (2 * 0xAAAB) + to * 0xAAAB;
return t >> 17;
}
static inline int Lerp13(int fm, int to)
{
return (fm * 2 + to) / 3;
}
static void PrepareOptTable(uint8 * Table, const uint8 * expand, int size)
{
for (int i = 0; i < 256; i++)
{
float bestErr = 256;
for (int min = 0; min < size; min++)
{
for (int max = 0; max < size; max++)
{
int mine = expand[min];
int maxe = expand[max];
//if (maxe - mine < 32)
{
//printf("%d <-> %d\n", maxe + Mul8Bit(mine-maxe, 0x55), Lerp13(maxe, mine));
//int err = abs(Lerp13_16bit(mine, maxe) - i);
//int err = abs(maxe + Mul8Bit(mine-maxe, 0x55) - i);
float err = abs(Lerp13(maxe, mine) - i);
//err += 0.03f * abs(maxe - mine);
err += 0.03f * abs(max - min);
if (err < bestErr)
{
Table[i*2+0] = max;
Table[i*2+1] = min;
bestErr = err;
}
}
}
}
printf("%d: %f %d\n", i, bestErr, abs(Table[i*2+0] - Table[i*2+1]));
}
}
int main()
{
uint8 OMatch5[256*2];
uint8 OMatch6[256*2];
uint8 Expand5[32];
uint8 Expand6[64];
for (int i=0; i<32; i++)
Expand5[i] = (i<<3)|(i>>2);
for (int i=0; i<64; i++)
Expand6[i] = (i<<2)|(i>>4);
PrepareOptTable(OMatch5, Expand5, 32);
PrepareOptTable(OMatch6, Expand6, 64);
printf("const static uint8 OMatch5[256][2] = {\n");
for (int i = 0; i < 256; i++)
{
printf("\t{0x%.2X, 0x%.2X},\n", OMatch5[2*i+0], OMatch5[2*i+1]);
}
printf("}\n");
printf("const static uint8 OMatch6[256][2] = {\n");
for (int i = 0; i < 256; i++)
{
printf("\t{0x%.2X, 0x%.2X},\n", OMatch6[2*i+0], OMatch6[2*i+1]);
}
printf("}\n");
return 0;
}

BIN
data/bugs/88/nmap.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

BIN
data/bugs/mthomson/world.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

BIN
data/bugs/mthomson/world.tif Executable file

Binary file not shown.

Binary file not shown.

BIN
data/luma/testpat_orig.1k.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 KiB

Binary file not shown.

Binary file not shown.

BIN
data/testsuite/lightmap/tower.dds Executable file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Some files were not shown because too many files have changed in this diff Show More