I reverted my last commit 6508. I was wrong, sorry about that. It is 3am maybe need to rest of the FIFO for while. My Apologies.
The STATUS_REGISTER should return the actual status HI (Overflow) and LO (underflow) watermark because this register can be polled by the game.
Possible FIX to randoms hangs, this correction in the clause fifo.bFF_Breakpoint=false fix hangs in WII Music, I don’t have WII sport resort, etc. Please test games with fifo hangs (FPS:0 VPS:99) in yours PC again. :D
r6509 x86 – скачать, зеркало
r6509 x64 – скачать, зеркало
Create a config dialog. Add dumping TEV texture fetches. Better TEV stage dumping. Byteswap indexed XF loading. Remove scaling texture coordinates in the HW rasterizer because that has already been done by the time they reach the rasterizer. Increase storage for clipper.
r6506 x86 – скачать, зеркало
r6506 x64 – скачать, зеркало
Change comparison in specular light function. Fixes issue 1258.
Avoid repeatedly asserting in SWG plugin when matrix indices don’t match. Small change to the transform unit to avoid some unnecessary work. Check if Q is zero before dividing UV coordinates by it. Fixes issue 3454.
More fifo work and the Pokemon teaching us ;)
* 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.
posible fix for issues 2850 and 3407
thanks to tapcio for the info
r6505 x86 – скачать, зеркало
r6505 x64 – скачать, зеркало
possible fix for issue 3014
thanks to iceman4love77 for tracking the error
r6501 x86 – скачать, зеркало
r6501 x64 – скачать, зеркало
Fix a typo in the last revision.
r6500 x86 – скачать, зеркало
r6500 x64 – скачать, зеркало
More linkage fixing. Fixes issue 3596.
Possible fix for the rdtsc call in JitIL.cpp on macosx (issue 3531). This also fixes issue 3595 (although that issue was invalid — we don’t suport scons on linux anymore).
Fix some linkage issues with the cmake build. This should fix issue 3596.
r6499 x86 – скачать, зеркало
r6499 x64 – скачать, зеркало
DX9 debugger improvements:
– Fix “Pause at next” functionality for pixel/vertex shader changes, finished frames and texture changes.
– Implement dumping vertex declaration and vertex/index data.
r6496 x86 – скачать, зеркало
r6496 x64 – скачать, зеркало
More FIFO work. I’ve implemented intelligent mechanism in GatherPipeBursted to prevent “FIFO is overflown by GatherPipe!”. I commented HiWatermark_Tighter parameter. If Hopefully this patch fix this issue. I will delete this definitely. I tested StarFox for 20 minutes and works really fine. :) This patch also can help when the CPU go ahead the GPU and sync in better way.
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.
r6495 x86 – скачать, зеркало
r6495 x64 – скачать, зеркало
DX11: Fix two crashes. One occured when trying to run a game with D3D 10.0 level hardware, the other one when closing a game when MSAA was disabled.
Fix for linux screensaver inhibit caused by a misinterpretation of the window id.
Fix the ASM dispatcher to work with linux 64
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.
DX11: Disable MSAA when using a GPU which only supports D3D 10.0.
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.
LLE JIT: Speed up the dispatcher by removing the compiled block check. Initialised the blocks with a stub which calls the compiler.
r6494 x86 – скачать, зеркало
r6494 x64 – скачать, зеркало
LLE JIT: Added an ASM dispatcher. Should help pave the way for future optimisation.
In the command processor when FIFO_READ_POINTER is reading Is better return fifo.CPWritePointer instead fifo.CPReadPointer.
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.
Core/DSPCore: Implement jit emitters for lris and mrr.
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.
r6486 x86 – скачать, зеркало
r6486 x64 – скачать, зеркало