Commit graph

869 commits

Author SHA1 Message Date
strmnnrmn
a4b6d43dcd [~] Move all the virtual functions in BlendConstant.h to a separate .cpp file. As these are virtual functions, there's no benefit from declaring them inline, and all it does is bloat the header and slow the build time.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1112 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:05:28 +00:00
strmnnrmn
cc4fa6e600 [~] Make RenderUsingCurrentBlendMode pure virtual and define in the PSP/OSX implementations. Move RenderUsingRenderSettings too. The OSX build can pretty much rewrite all of this code, which I'll do next.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1111 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-03 12:05:18 +00:00
strmnnrmn
b7f981544c [~] Add separate OSX/PSP renderers, and instantiate these instead of BaseRenderer
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1110 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-02 16:14:09 +00:00
strmnnrmn
9a77dad8a8 [*] Rename PSPRenderer to BaseRenderer. (PSPRenderer will return, but just with PSP specific bits in it)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1108 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-02 15:46:32 +00:00
strmnnrmn
1e9e443f79 [*] Get rid of the PSPRenderer singleton, and implement as a simple gRenderer pointer. This gets rid of the PSPRenderer typename everywhere, which will make the next step easier (adding an OSXRenderer, and making that and PSPRenderer derive from BaseRenderer. Also in this commit, fixed a bunch of mixed tabs/spaces and formatting.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1107 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-02 15:46:18 +00:00
strmnnrmn
7422eb6f6c [*] Move PixelFormatPSP from SysPSP to common Graphics, rename to NativePixelFormat.h. Remove some of the namespaces to make use of native/n64 pixelformats more obvious when reading the code.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1106 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-03-02 14:34:51 +00:00
Corn
e1975480ac [!] Fixed some typos and optimization for DDIV/DDIVU
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1099 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-26 13:49:33 +00:00
Corn
53cc23d9ed [!] Fixed and enabled DDIV/DDIVU instructions in Dynarec
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1098 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-24 18:22:17 +00:00
strmnnrmn
cf57a2b8d7 [~] Rename ClearWithColour to ClearColBufferAndDepth. Pass a c32 for consistency with ClearColBuffer, and remove the depth arg (always 0)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1092 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-24 11:09:49 +00:00
strmnnrmn
9ec164f1bb [~] Implement ViewportType on OSX. Make const.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1091 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-24 11:09:39 +00:00
strmnnrmn
de11411cbc [~] Tidy up GraphicsContext Clear functions - the overloading was a bit confusing so I renamed them. Clear(bool,bool) only ever took (true,true) as arguments, so just call it ClearToBlack and simplify the code a bit
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1089 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-24 11:09:22 +00:00
Corn
e988445c84 [!] Keep cached known values once they get loaded into a cached register
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1086 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-23 18:05:48 +00:00
strmnnrmn
2cd54e7536 [~] GraphicsContext UpdateFrame return was unused. Rename GetBufferSize to GetScreenSize, and use to avoid exposing SCR_WIDTH/SCR_HEIGHT
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1077 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-23 15:52:29 +00:00
strmnnrmn
7ea2b6a024 [~] Tidy CGraphicsContext::Create for PSP - impl is in .cpp file so don't bother with protected members and friends
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1076 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-23 15:52:19 +00:00
strmnnrmn
c2f01ec6b4 [~] Tidy CGraphicsContext::Create for PSP
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1075 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-23 15:52:12 +00:00
strmnnrmn
ea88e30f58 [~] Add a GraphicsContext.cpp for OSX
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1074 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-23 15:52:05 +00:00
strmnnrmn
6b17ef92bc [~] Move gFrameskipActive to DLParser.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1073 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-23 15:51:56 +00:00
strmnnrmn
5de9034305 [~] Group some common headers in GraphicsPluginPSP.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1069 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-23 15:51:28 +00:00
strmnnrmn
b183fd7bb6 [~] Define a virtual dtor to keep the compiler happy (actually seems ok for PSP compiler, but clang was complaining for OSX so keep them consistent)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1063 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-23 15:50:44 +00:00
strmnnrmn
4138b81fee [~] CGraphicsPluginPsp doesn't need to be visible outside the .cpp file. Also tidy things up a bit.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1062 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-23 15:50:37 +00:00
Corn
67dd282e40 [!] Base regs gets reused for loads/stores (not LWL/LWR) until the base reg gets modified (small speedup ~2%)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1058 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-22 21:31:12 +00:00
salvy
b737d76226 [~] Fixed bug in R4300_Cop1_D_CVT_S when sim doubles is disabled
[~] Fixed cheat codes not being enabled when forced from roms.ini


git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1057 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-22 19:51:25 +00:00
Corn
7071846c2d [!] Use K0/K1 regs to store current load/store base reg address
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1053 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-21 20:46:15 +00:00
Corn
577fc3cd72 [!] Handle LWL/LWR in direct load path too (fixes Rayman2)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1052 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-21 20:07:37 +00:00
salvy
0091202937 [`] Fixed various typos from my previous commits
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1049 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-21 17:29:00 +00:00
strmnnrmn
7257c5f190 [~] Replace uses of pspFpuAbs with an Abs wrapper function (platform independence)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1046 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-20 22:07:34 +00:00
salvy
6f304819d1 [!] x86 platform compiles now
[!] Fixed virtual alloc (x86)
[-] Removed debug COP2 code

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1040 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-20 20:39:26 +00:00
strmnnrmn
c110a77f56 [!] Fix d% instead of %d in NativeTexturePSP.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1037 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-20 08:27:58 +00:00
Corn
7c69ec021a [!] Fixed and enabled LWL/LWR instructions in DynaRec
[!] WIP on DDIV(U) instructions

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1032 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-19 20:54:29 +00:00
salvy
dba8dfc796 [!] Fixed PSP debug build
[!] Fixed error in oshle that caused a branch assumption error
[!] Detect newer PSP revisions..ex E100 etc, also fixed a bad detection
[~] Some clean ups

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1029 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-18 23:07:58 +00:00
strmnnrmn
319601baa1 [~] Encapsulate some display list debugger state
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1021 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-18 21:00:03 +00:00
strmnnrmn
a629bb2803 [~] Move some DL debugging code (printf style, not the interactive debugger) to a separate DLDebug.cpp
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@1019 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 21:27:37 +00:00
strmnnrmn
2994b74fdd Fix trailing whitespace
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@975 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-17 15:04:18 +00:00
Corn
4be4e488f7 [+] Implemented DSRA and DSLL (used in Doom64)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@955 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-12 20:53:04 +00:00
Corn
b11fa5b80e [!] corrected typo in DMULTU ASM
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@954 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-11 21:50:32 +00:00
Corn
b264f93b28 [!] Added DMULT & DMULTU to dynarec (nice boost in Doom64 and others)
[!] reverted sign extension removal of MULTU

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@951 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-11 19:16:30 +00:00
Corn
c04455bc57 [!] Dynarec now compiles code within a fragment so the result from MULT(U)/DIV(U) is taken directly from HI/LO regs.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@949 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-10 19:10:20 +00:00
Corn
1e81ff15b6 [!] Avoid using A1/V1 registers if possible (since these store current pre-calculated load/store base address)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@948 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-09 18:55:28 +00:00
Corn
a469003dfa [!] Fix crash in Aerogauge
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@945 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-07 13:43:14 +00:00
Corn
1984a9a9d9 [!] Ops seems all games but SM64 liked last commit, small fixed it
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@943 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-05 19:59:57 +00:00
Corn
f6d332ac84 [!] Additional improvements to Dynarec Memory opt.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@942 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-05 19:38:59 +00:00
Corn
13b4b02ff9 [!] Optimized Dynarec Memory opt. to keep both load and store regs also when COP1 opcodes are issued.
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@941 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-05 15:12:14 +00:00
Corn
fd472f60df [!] PspFastRand() is now just FastRand().
[!] Make sure to invalidate regs when exiting a fragment.

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@937 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-03 21:59:04 +00:00
strmnnrmn
1f2d4ff37e [~] Fix a misnamed variable
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@920 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-03 17:41:38 +00:00
strmnnrmn
8d02eaa1e8 [~] Fix inconsistent line endings (no functional changes)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@913 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:12:00 +00:00
strmnnrmn
0f7e430619 [~] Merge whitespace fixes to some dynarec files
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@910 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:11:42 +00:00
strmnnrmn
b032afb3f0 Merge some whitespace fixes
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@909 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-02-02 12:11:36 +00:00
Corn
be3e511061 [!] Some cleanup and optimization in DynaRecStubs.S
[!] fixed CRLF on additional files

git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@906 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-30 19:47:24 +00:00
strmnnrmn
84b5f81098 [~] Merge some minor whitespace fixes
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@904 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-27 20:44:09 +00:00
strmnnrmn
422823e52e [~] FastMemcpy.h was a bit broken for big-endian targets. fast_memcpy_swizzle correctly just called memcpy, but memcpy_swizzle ended up incorrectly byteswapping. I've renamed the underlying implementations to _byteswap (which always byteswap, regardless of enianness) and make the _swizzle functions correctly select between memcpy/memcpy_byteswap as appropriate. I think it would probably be clearer to rename memcpy_swizzle to n64_memcpy, or something like that?
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@902 42e9bfbe-799a-4a2d-bad1-236e862a387a
2013-01-27 19:31:53 +00:00