Commit graph

337 commits

Author SHA1 Message Date
richard42
d679f50109 Update msvc11 project file to visual studio 2012 (msvc11) 2013-06-01 07:57:15 -07:00
Richard Goedeken
fdabe2d07e merged heads 2013-05-30 21:55:28 -07:00
Riley Labrecque
239d1a8d8e Fixed compiling with MSVC 2013-05-30 09:33:20 +00:00
Sven Eckelmann
5704d656ae Enable Link-time optimization by default
The GCC introduced Link-time optimization in GCC 4.5 (2010-04-14). This should
be long enough available that interested users have upgraded to a compiler
supporting it.

The MSVC project already enabled WholeProgramOptimization since a long time.
Enabling it by default in GCC seems to be equally valid.
2013-05-11 11:25:53 +02:00
Sven Eckelmann
ba75d3506f Add CXXFLAGS to the linker step
The GCC manual states for different parameters that the options for compilation
must also be used when linking. The options for compilation are stored in
CXXFLAGS and added to LINK.o to fix the behavior.

Option which need this are for example -fPIC/-fPIE or -flto.
2013-05-11 10:56:08 +02:00
Bobby Smiles
82e6d79eaa Private mp3 related variables should be static. 2013-04-01 04:25:36 +02:00
Bobby Smiles
9e7a280cdf Add support for MusyX ucode detection. 2013-04-01 02:47:04 +02:00
Bobby Smiles
53577ef3eb Named some constants. 2013-04-01 02:14:10 +02:00
Bobby Smiles
1e8950ae88 Use static typed value instead of macro for IDCT related constant. 2013-03-21 19:34:32 +01:00
Richard Goedeken
f510b07e1d add msvc11 project file from mudlord 2013-03-20 22:26:27 -07:00
Richard Goedeken
d9bb882463 merged heads 2013-03-14 22:42:20 -07:00
Sven Eckelmann
ea771b3880 Revert "Enable link time garbage collection when link time optimization is enabled"
Some linker on different platforms don't handle the garbage collection
correctly and create extreme bloated binaries. Therefore, leave it to the user
to enable this feature or not.
2013-03-14 08:01:55 +01:00
Bobby Smiles
4945f56876 Refactor common jpeg decoding ucode. 2013-03-12 19:58:57 +01:00
Bobby Smiles
eb911442c2 Remove hack from jpeg code.
When I developped the original implementation of Pokemon Stadium Japan jpeg decoding ucode
I tested it with Rice video plugin and cheated a little bit to get some sensible results
(I changed the UV rescaling a bit and perform erroneous Y1Y2 swapping). Other video plugin
didn't support YUV16 texture format so comparison wasn't possible.
Recently, I played a little bit with Glide64mk2 and noticed that without aformentionned hacks
the jpeg decoding was performing successfully. That's why I think there is a bug in Rice plugin
and that I can delete my hack from jpeg decoding ucode.
2013-03-12 19:41:37 +01:00
Bobby Smiles
95deae759a Made private envmixer related variables static. 2013-03-11 21:59:58 +01:00
Bobby Smiles
827df7cba4 Made ResampleLUT const 2013-03-11 21:57:24 +01:00
Bobby Smiles
8573c1b2de Made DeWindowLUT const. 2013-03-11 21:10:32 +01:00
Bobby Smiles
4ceaf285f7 Make ABI arrays const. 2013-03-11 20:49:45 +01:00
Bobby Smiles
d57a1a5702 Get rid of global variables inst1 and inst2. 2013-03-11 20:42:31 +01:00
Bobby Smiles
1c8211afc3 Renammed acmd_t to acmd_callback_t. 2013-03-11 20:24:38 +01:00
Bobby Smiles
d501c4e38e Rewrite cicx105_ucode to allow better optimisation. Move it outside of main.
Note: During the rewriting I changed the number of line to write from 0xfc to 0x18 because that's
what I saw in the ipl3 disassembly.
2013-03-10 02:45:53 +01:00
Bobby Smiles
2fd59b9492 Add some comments 2013-03-10 01:54:20 +01:00
Bobby Smiles
a6a2ff4a95 FORWARD_* constants are uppercase. 2013-03-10 01:34:45 +01:00
Bobby Smiles
cfcfe45089 enforce const correctness no local helper functions. (+ trailing hitespace cleaning) 2013-03-10 01:32:35 +01:00
Bobby Smiles
1280d7aa00 Use standard memset instead of handcrafted loop. 2013-03-10 01:23:24 +01:00
Bobby Smiles
f6eca7ba4a Refactoring taskdone. 2013-03-10 01:19:11 +01:00
Bobby Smiles
28365d26db Reworked rsp execution to improve readability and performances. 2013-03-10 01:06:46 +01:00
Bobby Smiles
e68b5b833a Extract unknown task/non_task handlers from DoRspCycles. 2013-03-10 00:11:28 +01:00
Bobby Smiles
053dde0674 Some ucodes report a lower ucode_size than their real size, which causes underdump.
We now overdump by default by using the value 0xf80 used by rspboot ucode.
2013-03-10 00:03:05 +01:00
Bobby Smiles
1be2f3fe2e Extract some helper functions. 2013-03-09 23:54:53 +01:00
Bobby Smiles
852505046d Move alist logic into its own module. Corrected ABI1 and ABI3 sizes. 2013-03-09 23:35:08 +01:00
Bobby Smiles
35eec9a019 Use get_task function instead of passing OSTask_t pointer all over the call hierarchy. 2013-03-09 22:59:26 +01:00
Sven Eckelmann
d2d2b1e2c3 Fix non-C99 variable declarations 2013-02-17 17:54:07 +01:00
Sven Eckelmann
485a064c5e Enable link time garbage collection when link time optimization is enabled 2013-02-08 00:31:52 +01:00
Sven Eckelmann
2324ba13d9 Remove always true comparison 2013-02-08 00:30:27 +01:00
Bobby Smiles
7ff1b0620d Add support for Pokemon Stadium (Japan) jpeg decoding task. 2013-01-27 17:22:56 +01:00
Bobby Smiles
027c4cc2d8 Refactor jpeg module. 2013-01-27 17:19:58 +01:00
richard42
7ef526534d OSX build fix 2013-02-02 22:23:17 -08:00
Sven Eckelmann
1b238c5176 Introduce WARNFLAGS for default (removable) compiler warning flags 2013-01-02 16:13:45 +01:00
Sven Eckelmann
2ff7710657 Disable PIC on MinGW to reduce warnings 2013-01-01 00:30:34 +01:00
n pepinpe
a640dd3ac3 Fix path to OSX SDK with XCode >=4.3 2012-12-31 10:43:00 +01:00
Sven Eckelmann
9a922cdc78 Use $(OBJDIR) in clean target instead of hardcoded path 2012-12-13 14:53:05 +01:00
Sven Eckelmann
ea51d4457d Allow to add a postfix for each build
The POSTFIX make option is useful for distributions to compile different
versions of the plugin in parallel. The object files will be stored in a
directory with the postfix appended and the linker result will also have this
postfix appended.
2012-12-13 14:47:30 +01:00
Sven Eckelmann
61708f6588 Add CROSS_COMPILE make option
The CROSS_COMPILE make option can be used to automatically prepend the prefix
to all build relevant tools to seamlessly allow cross compilation without
setting each tool name separately.

Cross compiling for MinGW32 would can be done using
$ make -C projects/unix/ CROSS_COMPILE=i686-pc-mingw32- HOST_CPU=i686 UNAME=MINGW
2012-12-13 12:25:33 +01:00
Sven Eckelmann
8c7c887323 Synchronize usage of environmental variables for UNAME with HOST_CPU 2012-12-13 10:52:49 +01:00
Sven Eckelmann
de60447518 Remove duplicated definition of CC for MinGW 2012-12-13 10:46:17 +01:00
veganaize
06d5023d96 Add support for MingW32 2012-12-04 21:17:52 +01:00
Richard Goedeken
71ad85d3fc merge with no changes 2012-11-12 21:33:36 -08:00
Anthony J. Bentley
3a7a5b435a Detect OpenBSD PowerPC platforms macppc and socppc. 2012-11-12 18:03:16 -07:00
Sven Eckelmann
e19f1138b6 Avoid out of bounds access of audio ABI callback array 2012-11-12 10:52:10 +01:00