Commit Graph

88 Commits

Author SHA1 Message Date
Pavel Krajcevski
1093447055 Plug in the infrastructure to start passing images to be compressed. 2013-09-20 12:43:59 -04:00
Pavel Krajcevski
9b7bb2cbc7 Add hooks to support outputing images whose pixels are not in block-stream order 2013-09-06 01:38:52 -04:00
Pavel Krajcevski
03a7934644 Get rid of evil tabs once and forever (from cpp/h files) 2013-08-26 16:54:08 -04:00
Pavel Krajcevski
af2318027b More refactoring 2013-08-26 16:11:53 -04:00
Pavel Krajcevski
25eba39870 Change the name of everything to FasTC 2013-08-22 18:35:01 -04:00
Pavel Krajcevski
fc1baea05f Add a lot of comments and code cleanup 2013-08-22 18:33:42 -04:00
Pavel Krajcevski
7c3b3d8144 Fix a few bugs in our CompressionJobList's 2013-03-11 14:41:08 -04:00
Pavel Krajcevski
ae2324153d Repurpose the rest of our scaffolding to use Compression Jobs 2013-03-09 13:36:39 -05:00
Pavel Krajcevski
435f935de3 Update atomics compression algorithm
In general, we want to use this algorithm only with self-contained compression
lists. As such, we've added all of the proper synchronization primitives in
the list object itself. That way, different threads that are working on the
same list will be able to communicate. Ideally, this should eliminate the
number of user-space context switches that happen. Whether or not this is
faster than the other synchronization algorithms that we've tried remains
to be seen...
2013-03-09 13:34:10 -05:00
Pavel Krajcevski
abd3961a09 Add a new interface to compressing files which we will call a 'compression job' 2013-03-09 13:22:42 -05:00
Pavel Krajcevski
dbabd5e399 Add command line option to choose atomics path for compression. 2013-03-06 20:58:01 -05:00
Pavel Krajcevski
2a41e873fa Add function for compressing a texture using atomics... 2013-03-06 20:44:25 -05:00
Pavel Krajcevski
2127c04987 Add flag to compression settings to use atomics. 2013-03-06 19:01:31 -05:00
Pavel Krajcevski
c475ee1dec Use standard library min/max 2013-03-06 19:01:19 -05:00
Pavel Krajcevski
8ebdc30394 Add Yield function to global namespace
In order to develop a threadsafe texture compression function, we will need
to preempt threads in order to not kill performance while we initialzie everything...
2013-03-06 17:29:22 -05:00
Pavel Krajcevski
771b91b795 Fix a bunch of memory leaks. 2013-02-07 17:01:38 -05:00
Pavel Krajcevski
fa5d5e865c Fix some more compiler warnings. This time some were actually very useful\! 2013-01-28 20:20:52 -05:00
Pavel Krajcevski
42e4e8d4aa Amalgamate the different architecture problems with printf... 2013-01-28 17:49:57 -05:00
Pavel Krajcevski
8c666bcd3f Fix more compiler warnings 2013-01-28 17:37:43 -05:00
Pavel Krajcevski
1b30efe488 Got rid of some more compiler warnings. 2013-01-28 16:57:15 -05:00
Pavel Krajcevski
5dd1fbbd48 Fix a lot of compiler warnings. 2013-01-28 16:30:04 -05:00
Pavel Krajcevski
cdbf72b6c0 Merge MSVC support into master. 2013-01-28 11:49:03 -05:00
Pavel Krajcevski
deac1e7fad Fix some compiler errors... 2013-01-28 11:44:14 -05:00
Pavel Krajcevski
45e926536a Move Thread.h out of the include directory, and update the BlockStatManager to compensate. 2013-01-27 14:36:19 -05:00
Pavel Krajcevski
f4629fa35a Add boost libraries for windows. 2013-01-27 11:49:06 -05:00
Pavel Krajcevski
f1e502c8f5 Remove hack for adding a libpath flag in visual studio by requiring extra libraries from boost. 2013-01-27 11:49:05 -05:00
Pavel Krajcevski
42c350878e Fix property variable. 2013-01-26 14:11:37 -05:00
Pavel Krajcevski
5eba3ba6f7 Add license 2012-11-15 11:51:55 -05:00
Pavel Krajcevski
8761821220 More compiler fixes. 2012-11-07 18:01:02 -05:00
Pavel Krajcevski
680625d03e Fix a bunch of compiler warnings. 2012-11-07 17:10:26 -05:00
Pavel Krajcevski
05e6ca0bc9 Fix windows issues with blockstats... 2012-11-07 16:52:06 -05:00
Pavel Krajcevski
562d9e905d Make sure to return a value for the = operator... 2012-11-07 16:51:44 -05:00
Pavel Krajcevski
53b8d4c9a9 Fix compiler errors with functions not returning values. 2012-11-07 15:21:55 -05:00
Pavel Krajcevski
9360e80a56 Fix issues with stop watch on windows. 2012-11-07 15:21:02 -05:00
Pavel Krajcevski
e3757fde74 Fix MSVC interpretation of our types. 2012-11-07 15:20:25 -05:00
Pavel Krajcevski
790df0736f Make stats collection threadsafe. 2012-11-01 18:56:13 -04:00
Pavel Krajcevski
1abc54cf21 Make sure to take alpha into account when computing PSNR 2012-10-31 17:50:40 -04:00
Pavel Krajcevski
1424765866 Fix bug where we forgot to store the new height and width 2012-10-31 17:50:39 -04:00
Pavel Krajcevski
545a6f68e2 Add new structure to support creating Images and ImageFiles from compressed images 2012-10-31 17:50:38 -04:00
Pavel Krajcevski
71fbbca1ee Fix a few issues and make sure that when we write out to a file, only the intended values are reported. We still have to fix the accumulated stat reporting and make it thread-safe. 2012-10-31 17:48:53 -04:00
Pavel Krajcevski
99534bc5d0 Add stats function to serial encoder. Otherwise, continue to use non-stats function in threaded mode. 2012-10-31 17:48:52 -04:00
Pavel Krajcevski
1e6a2d4c7b Add new compression function that collects preliminary stats. 2012-10-31 17:48:52 -04:00
Pavel Krajcevski
fcbca9ca8d Add files for new block stats in order to track things in our compression algorithms 2012-10-31 17:48:52 -04:00
Pavel Krajcevski
f82173f423 Add platform independent file stream reading and writing in order to allow us to write out logs. 2012-10-31 17:48:52 -04:00
Pavel Krajcevski
6c723ca289 Fix some problems with our not so smart pointers. 2012-10-31 17:46:15 -04:00
Pavel Krajcevski
04cbf615f5 Make sure that our thread api preferences are saved in the cache. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
78ed5f5e92 On OS X, replace pthread_yield with sched_yield 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
d3f03a1fd3 Move ThreadGroup to new abstracted thread scheme. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
28af6ec225 Add threaded barrier operation modeled after that of boost. 2012-10-31 17:46:14 -04:00
Pavel Krajcevski
920c947d55 Add pthread module for threading. 2012-10-31 17:46:14 -04:00