~25% speed improvement in decoding GX_TF_RGB5A3 textures which aren't used very much. I thought it would help for movie playback but I misled myself. Video playback has nothing to do with this texture format.
Next I'll see if I can knock out some of these other texture decoders. Byte swizzling I'm sure can somehow be accomplished using _mm_unpacklo_epi8 trickery, so that'd be another big win I hope.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6698 8ced0084-cf51-0410-be5f-012b33b47a6e
Changed the EFB color order from RGBA to ABGR to emulate it correctly on little-endian platforms. Added some enumerations to clear up what components are which colors. Fixed the TEV alpha input LUT which would have caused problems if anything was doing alpha comparisons.
Changed box filter for EFB copies from 3x3 to 2x2 because that is probably correct. Also makes the math nicer.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6696 8ced0084-cf51-0410-be5f-012b33b47a6e
TextureDecoder.cpp: merged two functionally identical decode5A3RGBA and decode5A3rgba methods.
OpcodeDecoding.cpp and DLCache.cpp: optimization for GX_LOAD_XF_REG. The PSUHFB solution sounds better for SSSE3, but this is a small win for the default case.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6692 8ced0084-cf51-0410-be5f-012b33b47a6e
Adjusted the code work without ToMask.
This code should be functionally identical for all inputs to the previous code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6691 8ced0084-cf51-0410-be5f-012b33b47a6e
* Optimised out the R11 ImmPtr instructions
* Made the whitespacing a little more consistent
* Disabled block linking while it is being reworked
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6688 8ced0084-cf51-0410-be5f-012b33b47a6e
functions accidentally added. Fixed the jitted ar register arithmetic.
Added a CMakeList.txt for the UnitTests, but did not add the subdirectory
to Source/CMakeLists.txt.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6687 8ced0084-cf51-0410-be5f-012b33b47a6e
A lot of tests are failing right now, not sure yet if this is caused by the recent reg changes or other stuff (at least broken according to tests: iar, subarn, addarn, 'ir, 'nr, 'l, 's, 'sn, 'ln, 'lsn, 'lsm, 'lsnm, 'sl etc - err, most/all that use increase/decrease)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6683 8ced0084-cf51-0410-be5f-012b33b47a6e
* Fixed a bug in the JCC instruction.
* Changed the cycle count from u32 to u16.
* Added cycle counting to the block linker.
* Optimised the branch exit slightly.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6681 8ced0084-cf51-0410-be5f-012b33b47a6e
(acc and ax) and product register with one read/write.
Gives a minuscule speedup of not more than 4%. In exchange, breaks all
your out-of-tree changes to dsp. Tests are not building again, yet.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6680 8ced0084-cf51-0410-be5f-012b33b47a6e
Whatever that means, it fixes that stupid Super Mario Sunshine glitch and possibly lots of other stuff, so test as many glitchy games as possible with this ;)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6669 8ced0084-cf51-0410-be5f-012b33b47a6e
Should fix almost all regressions of the recent ClearScreen changes and keep the fixed stuff.
The Super Mario Sunshine glitch is caused by another issue and will be addressed in my next commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6668 8ced0084-cf51-0410-be5f-012b33b47a6e
assembler for JIT. Replace JIT ToMask() with a different variant. Remove
superfluous zeroWriteBackLog calls(added by me).
Core/Common: Don't bother creating a string and calling into a Logs trigger()
when there is noone listening. Change AtomicLoadAcquire for gcc to just
make the compiler not reorder memory accesses around it instead of doing
a full memory barrier, per the comment in the win32 variant.
Core/AudioCommon: Fix a use of uninitialized variable inside libalsa.
Microbenchmarking results for ToMask variants:(1 000 000 000 iterations):
cpu\variant| shifts | bit scan
intel mobile C2D@2.5GHz | 5.5s | 4.0s
amd athlon64x2@3GHz | 6.1s | 6.4s
(including some constant overhead identical to both variants)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6667 8ced0084-cf51-0410-be5f-012b33b47a6e
corrected peek color and peek z to correctly emulate real hardware formats.
implements native gamma correction.(i don't own any game that uses this functionality so i will appreciate feedback)
i need a lot of feedback in this changes please
enjoy
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6664 8ced0084-cf51-0410-be5f-012b33b47a6e
make some changes to the Clear code. please test a lot , the point of this commit is to determine the correct behavior of the efb clearing so feedback is welcome
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6663 8ced0084-cf51-0410-be5f-012b33b47a6e
1) What is the FIFO? The fifo is a ring queue for write (CPU) and read (GPU) the graphics commands.
2) What is the Brakpoints? The breakpoint is the FIFO mark to allow parallel work (CPU-GPU) When the GPU reached the breakpoint must stop read immediately until this Breakpoint will be removed for the CPU.
3) What is an overflow? The CPU write all room FIFO possible, and like a ring overwrite commands not processed yet.
4) ¿Why you have an overflow? In theory should not have an overflow never because the fifo has another mark (High Watermark) When the CPU Write reach this mark raise a CP interruption and the FIFO CPU WRITES should stop write until distance between READ POINTER AND WRITE POINTER will be equal to another mark (LO Watemark to prevent and overflow.
5) ¡So if impossible why you have overflows? Simple, the CP interruption is processed later and the Overflow happens. (there is a lot of theories about this)
6) ¿Why is no so simple like when CPU WRITE POINTER is near to the end of the FIFO only process pending graphics command?
Because when this happens sometimes we are in BREAKPOINT and is IMPOSIBLE process the graphics commands.
- This HACK process the pending data when CPU WRITE POINTER is 32 bytes before the end of the fifo, and if there is a Breakpoint force the situation to process the commands and prevent an overflown.
In theory you have not see "FIFO is overflown by GatherPipe nCPU thread is too fast!" anymore. But if you have a hang in game where you had this please read the NOTICE LOG in user\logs, I've added this message "FIFO is almost in overflown, BreakPoint" when the hack is activated. (I will delete this message very soon)
Good Luck!! PD: Shuffle sorry for the large commit description :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6662 8ced0084-cf51-0410-be5f-012b33b47a6e
on OS X as on other Unices so OS X initial installs aren't so easily
broken by files being created in constructors.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6661 8ced0084-cf51-0410-be5f-012b33b47a6e
* Completed the JIT versions of the DSP Multiplier instructions (5 instructions added).
* Bug fixed the dec and lsr16 instructions.
* Minor code clean-up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6657 8ced0084-cf51-0410-be5f-012b33b47a6e
* Completed the JIT versions of the DSP arithmetic instructions (28 instructions added).
* Added JIT versions of maddx and msubx (thanks to LM1234).
x64 only
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6652 8ced0084-cf51-0410-be5f-012b33b47a6e
logging: turn off write to file
core: don't insert anything in memcard b slot
video: efb scale to integral, AF to 1x
audio: 100% volume, 48KHz sample rate
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6650 8ced0084-cf51-0410-be5f-012b33b47a6e
Fixes issue 3703.
Note that HLE wiimote activation is currently a little broken, so to
use multiple wiimotes you need to open the wiimote configuration window,
refresh (connect to) the real wiimotes, start the emulation and then
select Connect Wiimote 2/3/4 from the Tools menu or with hotkeys.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6648 8ced0084-cf51-0410-be5f-012b33b47a6e
wiimote bd's are now read from (or added to if < 4 exist) SysConf
in theory you should be able to use any valid sysconf file now,
but i would advise against using a dolphin edited SysConf on a wii
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6646 8ced0084-cf51-0410-be5f-012b33b47a6e
- Clear alpha channel to 0xFF instead of 0x00 whenever we (re-)create the EFB texture
- Disable color/alpha channels whenever the actual EFB format doesn't use them
Fixes issue 2826.
Fixes issue 1879.
Please check if issue 3014 is fixed now, as well as any other games which might have broken due to ClearScreen changes.
For what it's worth, Super Mario Sunshine still shows a small glitch even with these changes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6635 8ced0084-cf51-0410-be5f-012b33b47a6e
* change File::GetSize to fetch the size directly from the open file instead
of stat'ing it when challed with a FILE*
* use changed File::GetSize(FILE *f) instead of calling with file name in two
places
* remove "seek_pos % file_size" hack for ZTP, so one can seek to the end of
file again. Please check Zelda: Twilight Princess for regressions
* return error codes when reading or writing from/to a file
A lot of those changes are from j4ck.fr0st, so kudos to him.
I did not change the file open mode for ISFS_OPEN_WRITE to "wb". While that
would probably be more correct, it says in the comment that it might affect
Mario Kart Wii. I would prefer somebody with that game try that change
locally first.
Please check your games for regressions (or even improvement). Some games that
may be affected are Zelda - Twilight Princess and Metroid Prime 3.
Fixes issue 1749
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6634 8ced0084-cf51-0410-be5f-012b33b47a6e
* Added 21 Arithmetic instructions to the JIT
* Used the DSPAnalyser to identify arithmetic/multiplier instructions that precede a conditional branch. This allows the JIT to skip updating the SR when nothing would read from it. Marked all arithmetic/multiplier instructions in the DSPTable for this purpose.
* Converted CheckExternalInterrupt into ASM
* Fixed a couple instructions in DSP Load/Store
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6633 8ced0084-cf51-0410-be5f-012b33b47a6e
avoid wxWidgets sounding the system beep for unhandled key events
when receiving pad/wiimote keypresses separately from HID devices.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6630 8ced0084-cf51-0410-be5f-012b33b47a6e
Will fix some games and break some others.
Assist trophies in SSBB work fine now, Super Mario Sunshine is a little broken again.
Still needs some more work...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6627 8ced0084-cf51-0410-be5f-012b33b47a6e
skid_au had implemented this in a previous revision and enabled it by default, but it caused glitches if STC wasn't set to "safe" (which kinda defeated the purpose since it slowed down stuff again).
Also renamed the "safe texture cache" to "accurate texture cache", since setting the "safe" texture cache to "safe" sounds kind of silly..
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6625 8ced0084-cf51-0410-be5f-012b33b47a6e
this is mainly so they fit within ps_2_0 limits, but I made this separate from my last checkin to make it easier to test separately in case it somehow causes problems
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6619 8ced0084-cf51-0410-be5f-012b33b47a6e
(probably nobody else cares, but I need at least one video plugin that actually works on this computer)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6618 8ced0084-cf51-0410-be5f-012b33b47a6e
- Merge the EmuWindow class to VideoCommon.
- Implement free look in the D3D plugins. Seems like it had broken before though; only rotating the view works..
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6616 8ced0084-cf51-0410-be5f-012b33b47a6e
on any other, including "" when a different one is specified through the
POSIX locale environment variables.
This is not normally a problem since these variables are stripped out from
the environment when an application is launched by the Finder. This is not
the case when running the binary directly from the command line, such as
when debugging.
I have temporarily disabled the use of std::locale("") on OS X while I try
to come up with a better solution.
Fixes issue 3598.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6615 8ced0084-cf51-0410-be5f-012b33b47a6e
Fixes issue 2805. Fixes issue 3235.
If this causes problems on Windows, just use this intead:
#if defined(HAVE_X11) && HAVE_X11 || defined __APPLE__
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6614 8ced0084-cf51-0410-be5f-012b33b47a6e
To do so I had to re-add the casting bloat removed in revision 6102. Also, for some odd reason the NVidia OpenCL drivers don't like 8 bit rotations, but are okay with 2, 4 bit rotations. These are apparently bugs in the NVidia drivers that are hopefully fixed in future versions.
Also, on linux make sure the TextureDecoder.cl file is copied from the shared data directory to the users directory.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6611 8ced0084-cf51-0410-be5f-012b33b47a6e
* More formats recognition for "Clear Screen" step. Improved the ability handling the alpha channel (% color translucency).
* Related to CPUID detecting:
- Added support displaying correct SysInfo for recent multicore Intel CPUs x86-64 with HT/SMT (Core i3/i5/i7 and Xeon) based on Nehalem architecture.
+ minor and passive changes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6604 8ced0084-cf51-0410-be5f-012b33b47a6e
* Added jit versions of 5 DSP LoadStore instructions: srs, lrs, lr, sr, si
* Renamed MainOpFallback to Default for consistency in naming with JIT64
* Made ext_dmem_read and ext_dmem_write more generic for wider use
* Optimised dmem_read and dmem_write slightly
* Added dmem_read_imm and dmem_write_imm optimised versions
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6596 8ced0084-cf51-0410-be5f-012b33b47a6e
Title Version and region char of currently installed system menu are now listed in the menu as well
Which means disc channel will only show pal discs if it is a pal nand dump; ntsc nand dump will show ntsc discs, ntsc-j nand dump will show ntsc-j discs
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6591 8ced0084-cf51-0410-be5f-012b33b47a6e
fixes system menu loading the ini file from the last run game
also check for all countries when setting bntsc for wad/nand titles
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6590 8ced0084-cf51-0410-be5f-012b33b47a6e
Changes file dialog to show *.bin for wii save import instead of data.bin
Move Sram dumps to Sram.cpp and change default FlashID
Fixes issue 3711.
Fixes issue 3042.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6588 8ced0084-cf51-0410-be5f-012b33b47a6e
Also set up cmake/cpack to create prebuilt binary packages and source packages.
Also change the vertex shader dump file name in the gfx debugger to something that makes more sense.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6587 8ced0084-cf51-0410-be5f-012b33b47a6e
* Optimised the updating of g_dsp.pc in the compile loop (code by kiesel-stein)
* Added JIT version of LRI (code by kiesel-stein)
* Added JIT versions of the branch instructions (code by Jack Frost)
* DSP_SendAIBuffer fix (code by Mylek)
* Marked instructions that update g_dsp.pc in the DSP table and updated PC based on the table (speed up)
* Fixed the signed bits not being set properly in the addr instruction
* Created a MainOpFallback function to use interpreted versions of the instructions if necessary (code by kiesel-stein)
* Disabled the jit versions of subarn and addarn as they are slowing down NSMBW
The above work in both x86 and x64 modes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6582 8ced0084-cf51-0410-be5f-012b33b47a6e
Make sure the gfx debugger unpauses when the emulator is stopped.
When a wad is installed make sure directories exist.
For the cmake build if a header is not provided in the check_lib macro don't check for it, and assume pkg-config was supposed to work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6581 8ced0084-cf51-0410-be5f-012b33b47a6e
allows using any (valid) memorycard.raw in any slot (including real memcard dumps)
Fixes issue 684.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6576 8ced0084-cf51-0410-be5f-012b33b47a6e
This comment should give a great speed increase, numerous games (SMG, NSMBW, DKCR, ...) which I tested are at least 20% faster now!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6574 8ced0084-cf51-0410-be5f-012b33b47a6e
DX9: Revert to the old EFB coordinate scaling. Glitches caused by higher EFB scales probably can't even be fixed properly in DX9, so let's not even mess with it...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6573 8ced0084-cf51-0410-be5f-012b33b47a6e
- I've implemented calling to ProcessFifoEvents when is there is a pending event in the main queue from CP, PE & GP
- I've implemented FifoIntReset(TRUE, TRUE) in write Clear Register.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6572 8ced0084-cf51-0410-be5f-012b33b47a6e
Also fix some compiler warnings.
On linux don't install the license.txt file. Most distributions handle license files via a package. For example on debian based systems this gives a lintian warning.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6568 8ced0084-cf51-0410-be5f-012b33b47a6e
the black screen in Sonic Colours. Both JIT and JITIL have this work-around.
Re-enabled ps_mul as that instruction was not the root cause.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6565 8ced0084-cf51-0410-be5f-012b33b47a6e
- Improved the GP Register Status: now this is all the time from the fifo loop.
- Improved the Interrupts manage:
1) Removed All UpdateInturrupts from CommandProcessor Writes and Read.
2) now the CP interrupts are schedule from the video thread and the fifo loop waiting until this happens
3) considering Inmediate mode for the CP interrupts
3) Implemented Interrupt CP Cache State
4) Implemented only Overflow interrupt in GatherPipeCheck because this need to be detected quickly.
- Implemented Overflow handling like a real HW, when Hiwatermark interrupt happens this write ClearRegister with True en HI and False in LO (FifoIntReset) after that a Control Register is writed and the FIFO is processed to LO Watermark.
- Removed all ugly code from LO and HI watermark manage
- Removed all ugly code from BP manage
- Change >= by == in the BP clauses
- Removed speed hack (1024 chunk) for better GP Status Control.
- Commented GXSetGPFifo very soon hack
- Commented FackWatchDog hack
- Commented FIFO_RW_DISTANCE = WritePointer hack
This is the beginning and the base for the future., If this broke your favorite game my apologize, only report this and will try solve it. If you have a Overflown don't worry, I've implemented the real solution code using the Overflow Interruption only need continue working for a perfect protection. Why I did it? Because is preferable a accurate and clean fifo instead hack y fifo for improve that. Thanks to DONKO for you awesome Video Plug in and skid for the chatting. PD: I have 7-10 fps more in the star fox video. bye :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6554 8ced0084-cf51-0410-be5f-012b33b47a6e
Should fix problems caused by EFB scales other than Native (excluding fractional!). Test whether this fixes games which work fine with native EFB resolution but show glitches with higher internal resolutions.
Also fixed numerous warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6549 8ced0084-cf51-0410-be5f-012b33b47a6e
Notable Changes:
Fixes right click menu in linux.
Fixes Issue 2412.
sram.raw file is no longer required to format a memcard
Update to use new ini sections, automatically remove default settings from ini file
enable pages setting no longer requires memcard manager to be reopened to take effect
it is no longer possible to switch to a negative page number
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6546 8ced0084-cf51-0410-be5f-012b33b47a6e
systems where size_t is typedef int.
It's either this or use the C99 %zu but while we can probably
safely assume C99 compilers, I am not at all sure that that's the
case for stdio libraries and this solution is fairly low-impact.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6535 8ced0084-cf51-0410-be5f-012b33b47a6e
Fix the default wiimote emulation mouse button settings on linux.
Fix a little c++ operator precedence issue.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6534 8ced0084-cf51-0410-be5f-012b33b47a6e
for the real wiimote thread as for the other threads.
Turns out we use OS X bluetooth API's that were introduced in 10.5.4.
Remove vestiges of previously removed wiiuse_set_bluetooth_stack().
XXX We should probably have a Common equivalent of htonl and friends.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6531 8ced0084-cf51-0410-be5f-012b33b47a6e
Most of the code dealing with the LogTypes namespace was C which lead to a
lot of nonsensical casting, so I have dumbed LOG_TYPE and LOG_LEVEL down to
plain C even though the move of wiiuse into Source means we don't currently
call GenericLog from C.
Set logging threshold to MAX_LOGLEVEL at startup so debug builds will also
p rint debugging messages before the GUI is running.
For some reason the way we use SetDefaultStyle doesn't play nice with wx 2.9
so we just get the default black text on a black background. Using a gray
background works around that problem, but I found it to also be much easier
on the eyes so I have switched the background color on all versions.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6528 8ced0084-cf51-0410-be5f-012b33b47a6e
so the recent addition of VideoCommon/Src/Debugger.h clashed with
DebuggerWX/Src/Debugger.h.
The latter had atrophied anyway, so just get rid of it to resolve the
conflict.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6526 8ced0084-cf51-0410-be5f-012b33b47a6e
Separated UI from debugger functionality. Generally cleaned up that stuff.
Most functionality needs to be reimplemented now, but will be available to D3D9, D3D11 as well as OpenGL then.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6523 8ced0084-cf51-0410-be5f-012b33b47a6e
first fix for issues introduced in sms in r6501, please test for a regressions in The Calling
Second Fix for Issue 3539, by making pixel Dept calculation an option. in games with this issue Enabling pixel depth will solve the issue, in other games disabling the option will not cause speed lost
some cleanup in dlist cache
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6517 8ced0084-cf51-0410-be5f-012b33b47a6e
Replaces all occurrences of ftell and fseek with ftello and fseeko, respectively. This matters on non-win32 where only these names are altered by the _FILE_OFFSET_BITS define. Win32 still just maps the funcs to ftelli64/fseeki64.
Also add some File::GetSize I had skipped in my last commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6515 8ced0084-cf51-0410-be5f-012b33b47a6e
* I've fixed concurrency problem with fifo.bFF_GPReadEnable when the breakpoint is achieved
* I modified when fifo.bFF_Breakpoint is turn off to prevent that the interruption happens
* I reverted r6483
* I improved the commit r6495 adding another protection when the GPRead is enabled in CTRL_REGISTER
You can test Pokemon XD in dual core mode is more estable now :P This commit could solve others hangs fifo related in DKC, Sport Resorts, etc. I dont have these games.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6503 8ced0084-cf51-0410-be5f-012b33b47a6e
Plus: I added a _assert_msg_ in FIFO loop when the WriteDistance is negative. Please if that happens report it, this can help to solve strange issues with wrong WriteDistances.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6495 8ced0084-cf51-0410-be5f-012b33b47a6e
ESI is not available as callee save register on linux 64, so use R12, which
is available on windows 64, too. The only callee save register still available on
all platforms is EBP, but i guess we don't want to fiddle with that one.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6492 8ced0084-cf51-0410-be5f-012b33b47a6e
10.0 level hardware can't create multisampled depth buffers which can be bound as shader resources as well, but we need that for e.g. EFB access or EFB copies.
Only multisampling the color buffer doesn't work either since color and depth targets must be using the same sample count.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6491 8ced0084-cf51-0410-be5f-012b33b47a6e
Return values from RunCycles isn't consistent/meaningful at the moment so assuming it runs as many cycles as asked.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6487 8ced0084-cf51-0410-be5f-012b33b47a6e
In this way it prevents wrong fifo.CPReadWriteDistance in the future. That should fix RE0 Issue 2846 and others "Warning: GFX FIFO: Unknown Opcode (0x4d)" in dual core mode.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6485 8ced0084-cf51-0410-be5f-012b33b47a6e
Also add the mask for ADPCM predictor, like r6480 does.
Tested 64 bit linux/windows. At least compiles for 32 bit windows, but
with these binaries most of my guest software fails with
DSPLLE(interpreted and jit) when it gets to do actual work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6484 8ced0084-cf51-0410-be5f-012b33b47a6e
- Speed up MSAA by using custom resolve shaders instead of ID3D11DeviceContext::ResolveSubresource().
- Fix EFB access when MSAA is enabled.
- Implement the "force linear filtering" option.
- Compile shaders using shader model 4.1 or 5.0 if available.
- Some minor cleanups.
Who cares about DX9 and OGL anyway :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6481 8ced0084-cf51-0410-be5f-012b33b47a6e
Restricts 'ssbm' loop detection to PBs with valid loop pred_scale values.
Masked coef_idx in the adpcm code so it can't fault on invalid values.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6480 8ced0084-cf51-0410-be5f-012b33b47a6e
DX11: Fix a DX11 debug runtime error caused by the vertex shader output signature and the pixel shader input signature not matching if per-pixel lighting is disabled. Someone forgot disabling those pixel shader parameters ;P
DX11: Enable use of dynamic textures wherever possible.
DX9: Remove two unnecessary TODOs. Someone forgot removing those since they've been obsolete for a long time ;P
Anyway, at least working mipmaps and dynamic textures should increase DX11 performance a bit. And "a bit" is more than my usual "marginally" ;)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6473 8ced0084-cf51-0410-be5f-012b33b47a6e
Add multisampling support.
EFB access doesn't work with MSAA enabled, yet.
Additionally clean up some stuff, fix a memory leak, ...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6468 8ced0084-cf51-0410-be5f-012b33b47a6e
* revert back to proper upscale mantissa of parameters A and C
* properly downscale magnitude to 0.24 bits instead than ≡0.23
* Z Eyespace conversion for projection by original patent concept
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6463 8ced0084-cf51-0410-be5f-012b33b47a6e
- Add some info about a backend's feature set (MSAA, Real XFB, EFB to RAM, ..) to VideoConfig
- Gray out options if they aren't supported by the backend or if changing them doesn't affect anything (e.g. changing STC mode if STC is disabled)
- Allow signed bytes for D3D11. Not sure if this causes glitches, but it should work
- Call wxEvent.Skip() in the event function handlers, not sure if this fixes any bugs but the old code definitely caused bugs during development of this patch
- Fix a memory leak in the configuration dialog if D3D11 is used
- Other minor stuff that doesn't need to be mentioned or which I forgot
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6450 8ced0084-cf51-0410-be5f-012b33b47a6e
Fix the macosx build (perhaps).
This changes the JitIL timed profiling to using assembly language to obtain the time. It does seem to be faster. Not sure if it will work on macosx, but if it does it has the necessary precision that gettimeofday does not have.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6448 8ced0084-cf51-0410-be5f-012b33b47a6e