Only link with libdl on Linux.
The wxProgressDialog delay bug has been fixed since 2.9.1.
More robust way of building on 10.6 for a 10.5+ target.
Properly emulate the alpha read pixel engine register function (used for EFB peeks).
A couple minor things I have left over
OpenGL plugin: Should fix building with earlier versions of GLEW. You’ll still need the latest GLEW if you want to try dual-source blending.
Fix an off-by-one error introduced in r6309.
DX11: Fix ClearScreen properly this time. Should fix quite a few games (or break them :P)
Fixes issue 3399.
Also remove unnecessary stateman/gfxstate applies:
— gfxstate->ApplyState/Reset only need to be called by VertexManager
— stateman->Apply only needs to be called before any Draw/DrawIndexed call
Fix a major speed regression from r6288:
Upon texture reloading, the cache entry hash wasn’t updated and thus we effectively disabled any texture caching in that case.
Added a safer OpenCL shutdown procedure.
Fixes issue 3015.
Fixes issue 3089.
Fixes issue 3099.
Fixes issue 3360.
OpenGL plugin: Support for dual-source blending, CURRENTLY DISABLED. It doesn’t work yet. To fix it, we may need to convert all our shaders to GLSL so that we can use glBindFragDataLocation.
DX11: If the virtual XFB list overflows, replace the oldest XFB with a new one instead of just failing.
Added the wait/sync back in the video thread on XFB swaps. Fixes issue 3391.
Changed the VI interrupts to occur on writes instead of reads.
Fix another bug introduced by r6301: Using observer variables now to check for ring buffer wraps.
Small performance improvements by increasing the ring buffer size and using a better offset algorithm.
Fix a small but severe and stupid bug introduced by r6301…
DX11: Use a ring buffer in the utility functions for speedup.
Main change: Implemented EFB pokes in DX9/DX11.
Games affected by this change: Mario Smash Football, Mario Strikers Charged Football, Monster Hunter Tri.
Other games possibly affected: Shaun White Snowboarding, Resident Evil Code: Veronica, Baten Kaitos.
This implementation will decrease performance if the game uses this feature, but the glitches will be gone. I’ll add an option for this in a later commit. EFB pokes are somewhat slow in DX11 right now, speed should be okayish in DX9 though.
— SOMEWHAT cleaned up the EFB access code in DX9
— Fixed incompatible parameter list of AccessEFB and TVideo_AccessEFB.
— Fixed a theoretical bug in ReplaceRGBATexture2D, add support for STAGING textures
— Removed unused parameters in various DX9 functions
Applied the change from r6297 to the DX11 plug-in.
VideoInterface and Progressive Scan fixes
The «Enable Progressive Scan» option in the Wii menu now controls whether the Wii/GC will detect a progressive scan display. This affects the timing of some games (both GC and Wii). Usually, the checkbox should be unticked as progressive scan displays require higher bandwidth.
This fixes the slow speed in NBA JAM. This also fixes the hang in Megaman Network Transmission. This should fix Deadly Creatures (turn off progressive scan).
Fixes issue 3314.
Fixes issue 3066.
Fixes issue 2571.
Put infrastructure in place so that other plugins may support dual-source blending.
Quick fix for Issue 2820 — build works on my system with or without this patch, but it doesn’t hurt.
Thanks Karloathian for the solution!
DX11 plugin: Do destination-alpha in a single pass. No more drawing the same geometry twice! SMG is faster now because it uses destination-alpha extensively. This uses dual-source color blending, a DirectX 10-level feature. The equivalent OpenGL function comes from the GL_ARB_blend_func_extended extension, which was made core in OpenGL 3.3.
DX11 plugin: Fix numerous Metroid Prime glitches. The «techno energy ball lighting» glitch is remains, however.
DX11 plugin: Use a better mechanism to load vertex and index buffers; prevent a potential bug where triangles, lines, and points could fight over the same buffers
Clarify texture cache code. Previously, there were THREE sets of texture dimensions, and it was hard to tell which set was for what purpose.
Now, there are two:
Real dimensions: Width and height of the original GameCube texture
Virtual dimensions: Width and height of the texture used by dolphin-emu’s renderer
Goto’ing past variable initializations is undefined behavior.
Work around different gcc versions giving conflicting warnings
about signed/unsigned comparisons involving bit fields.
Made it easer to use mouse/keyboard and a gamepad together on the same emulated wiimote. Renamed mouse buttons from «Button N» to «Click N» so they do not conflict with gamepad buttons.(hopefully not too ugly, mouse buttons will need to be reconfigured) (Fixes issue 3363)
Merged common texture cache code from video plugins into VideoCommon. (DX11 native mipmaps currently broken, disabled) Hopefully everything else should still be working.