Pierre Bourdon
1e558aedeb
Added an EFB peek cache to the GL video plugin
...
Most of the games using EFB peeks are suffering from major performance problems
when these peeks are not disabled in the graphics settings. This is an attempt
to fix this in the GL renderer by doing the glReadPixels in bulk: instead of
doing a lot of 1x1 pixel reads, read for 64x64 pixels at once and keep that in
a cache.
Deck menu in Baten Kaitos: 3FPS -> 54FPS
Character creation in Monster Hunter Tri: 7FPS -> 60FPS
2011-10-17 18:30:13 +02:00
NeoBrainX
17fcd406fc
Merge some scissor rect related code to VideoCommon.
2011-09-05 22:04:28 +02:00
Shawn Hoffman
b867c21fea
apply to dx9 and dx11 backends as well
2011-09-05 12:19:11 -07:00
Nolan Check
8024783502
Don't resize render target to handle out-of-bounds viewports. Instead, adjust the projection matrix.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7538 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-12 02:14:45 +00:00
Jordan Woyak
41c98f982e
A bit of cleanup to Core Init/Stop, Frame, and Main. Cleanup XAudio2 to attempt to fix the crash on stop(didn't help :p). For some reason CFrame::DoStop is called twice.(might be the issue)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7353 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-15 23:09:12 +00:00
Jordan Woyak
fbaf965995
Eliminated the plugin interface. Merged DX9/DX11/OGL video plugins into Dolphin. It could still use a lot of cleanup. Lots of things are still named "plugin". Software renderer is temporarily disabled until it gets some namespaces. I only updated vs08/10, Linux/OSX builds are broken.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6996 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 01:28:32 +00:00
NeoBrainX
e0c6092721
DX11 code maintenance, part 4:
...
Move blend state management from EmuGfxState to Renderer.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6905 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-24 10:42:43 +00:00
NeoBrainX
50c1baf8de
DX11 code maintenance, part 2:
...
Move depth state management from EmuGfxState to Renderer.
Call stateman->Apply in Renderer::ApplyState instead of EmuGfxState::ApplyState.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6903 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-24 09:10:35 +00:00
NeoBrainX
e0b757fe6a
DX11 code maintenance, part 1:
...
Move sampler state/shader resource management from EmuGfxState to Renderer.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6902 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-24 08:44:32 +00:00
donkopunchstania
d16357cd5c
Add anvideo config option to automatically resize the render window to the size of the game's output resolution. This avoids artifacts that appear when the render target is scaled to fit a window of a different size.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6764 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07 04:57:59 +00:00
NeoBrainX
a271bb8182
Implement pixel data reinterpretation on EFB format change.
...
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
2010-12-27 21:56:20 +00:00
Rodolfo Osvaldo Bogado
c2283ad6c0
Second Experimental commit:
...
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
2010-12-27 03:18:01 +00:00
gnick79
670192e568
* revert Clear Screen's stuff from r6604
...
reason : failure! (are needed more testing)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6621 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-19 22:00:25 +00:00
gnick79
522746b2c2
**Changes**
...
* 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
2010-12-18 18:23:22 +00:00
Jordan Woyak
159ed43f67
Move some shared gfx plugin code into VideoCommon. Changed "Renderer" class to use virtual functions. (setting stuff up for video plugin merging)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6433 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-18 02:21:26 +00:00
hrydgard
baede3a7f3
Moving more things out of GL into VideoCommon...
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4187 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 20:37:35 +00:00
hrydgard
2b1022f152
More tidying up - share the stats print between the two plugins, etc
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4184 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 19:42:45 +00:00
hrydgard
562a4e25ac
Some housecleaning around the D3D plugin, start of preparations to share even more code with the GL plugin.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4183 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 19:24:16 +00:00
XTra.KrazzY
c86d2e5129
Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3898 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28 21:32:10 +00:00
Nolan Check
f338d5c44c
Code cleanup. Juggling rectangles. I'm about to investigate the problems with Real XFB's in PAL games, so I wanted to make sure all our rectangles were cleaned up and organized.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3794 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 00:51:24 +00:00
Nolan Check
dc7d9ab998
Switch to Video_BeginField; hopefully fix or reduce some video stability problems by using Events.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3740 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-11 02:34:16 +00:00
Nolan Check
c2e0225aa3
Move to new Virtual XFB system which correctly handles games which store multiple XFB's in memory. More OpenGL cleanup.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3591 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-29 07:30:48 +00:00
Nolan Check
07a767691d
Clean up OpenGL code and introduce the Framebuffer Manager. More work is forthcoming; I plan to implement resolution switching (while the game is running) and also multiple virtual XFBs for game-controlled buffer swapping.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3587 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 23:35:08 +00:00
Nolan Check
ade9479005
Display buffer flips are now triggered by the CPU thread through the Video_UpdateXFB function. This is a fairly significant change of behavior, but it improves performance.
...
Also, render target code is cleaned up. Post-processing shaders now work with multisampling and Real-XFB mode.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3545 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-26 08:57:53 +00:00
John Peterson
6691469164
OpenGL: Added OSD menu from 3, 4, 5 keys
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3369 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-08 02:48:38 +00:00
sl1nk3.s
c9b5fbd9bd
Change the screenshots rescale function to always work according to the A/R setting, and not just on native res: fixes 16/9 wii games.
...
remove IsATIDrawBuffer(), this might have been fixed in the drivers since some years already ?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3359 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-07 21:10:02 +00:00
Shawn Hoffman
695fe31b2c
...and the days of ceaseless build fixing begin anew
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3337 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-06 15:51:03 +00:00
John Peterson
a8dafb8dc5
OpenGL:
...
1. Reorganized display settings
2. Let render to main window also have the internal resolution setting
3. Set render to main window as default setting, it's the most common and best option used by the best emulators
4. Changed screenshot to capture the internal picture, independent of whatever the window size may be
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3335 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-06 13:36:33 +00:00
death2droid
727f8aad87
Update the flickering fix.
...
Should work a lot better.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3276 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-23 07:55:38 +00:00
donkopunchstania
14a67bc8bc
Changing where depth is read. Trying to use the same depth buffer GL uses when copying depth to a texture. This eliminates some quirky code and gets depth copies working in AA, but may not work on older graphics cards.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3234 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-15 02:39:55 +00:00
omegadox
6736898486
OpenGL Plugin: code cleanup trying to follow code style wiki and updated copyright date
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2850 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-04-03 14:35:49 +00:00
Marcus Wanners
711f08c29b
Added support for dumping avi files (thanks baby.lueshi). Use Microsoft Video 1 codec for starters. Make sure to check the dump rendered frames box in the video plugin settings, or it won't work.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2781 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-28 21:07:16 +00:00
hrydgard
c6ffcec991
First version of MSAA code added. No UI yet. No CSAA yet. Doesn't work in Zeldas and Metroids for unknown reason.
...
Automatic texture invalidation when using copy efb to ram (fixes weird flickery scanner in metroid 2).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2617 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-08 19:19:51 +00:00
hrydgard
75390c55bd
GL plugin: VSync option, some renaming, a little bit of MSAA preparations (not there yet)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2563 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-05 23:11:13 +00:00
hrydgard
6dc4194767
OGL plugin: +Autoscale option (attempts to remove borders, even without XFB). Lots of cleanup, especially around aspect ratio and similar stuff. MP2 scanner still broken, wonder when that happened?
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2470 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-28 16:33:59 +00:00
XTra.KrazzY
c19210b641
Working screenshots for everyone! This may not be the 'best' way to implement it but it's the most compatible, working and least mutually exclusive as possible (works with DC too). More coming soon.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2449 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-27 03:56:34 +00:00
hrydgard
aff0f1fbe3
Consolidate the three implementations of Decode5A3 found in Core into one. Fix some warnings.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2364 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-22 12:43:25 +00:00
John Peterson
b4b94fe594
OpenGL: Fixed the screen size adjustment by moving it to Render::Swap(), where the final version of the picture is placed
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2344 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-21 20:59:30 +00:00
hrydgard
3331a024c0
More cleanup in gl plugin
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2337 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-21 13:11:49 +00:00
hrydgard
fe0be64bd3
Move the message display thing out of Render.cpp
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2335 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-21 12:53:10 +00:00
omegadox
228652b070
Some cleanup in OGL plugin and VideoCommon
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2329 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-21 02:42:35 +00:00
omegadox
72cf7a5a42
Fixed LogicOp Blending and Dithering support enabled.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2249 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-15 11:24:45 +00:00
donkopunchstania
4930a6d6cb
Destination alpha works in OGL. Fixed reading XFB address from VI regs and removed a check to fix games which keep the XFB some place other than mem 1.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1921 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-18 19:03:14 +00:00
hrydgard
dcc48d6c41
just a bunch of random code cleanup i did on the train bored, plus a d3d implementation of NativeVertexFormat which isn't actually used yet.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1658 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 15:56:36 +00:00
nakeee
a7c4697d22
more code cleanup
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1622 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-21 21:02:43 +00:00
bushing
30c883bcfc
set svn:eol-style=native for **.h
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1438 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-08 04:46:09 +00:00
hrydgard
c541f3c335
Aniso filter setting working in GL, some code moving around, spelling fixes
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1341 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-30 14:15:34 +00:00
hrydgard
dcbc8e78d4
Massive style & comment cleanup of (mostly) GL plugin - also split some large files. A minor speedup for BP writes - merged the two switch()-es.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@899 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-17 11:30:14 +00:00
donkopunchstania
bbbe898839
added option to use XFB in GL, but XFB support still needs work. modified viewport to include scissor offset.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@879 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-15 14:07:03 +00:00
Sonicadvance1
9b676c0a01
Removes 4 unneeded values in the GL plugin, Makes less buffer underruns in ALSA in DSP_NULL, and case sensitivity so Wii games get just a 'wii' bit farther
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@216 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-14 23:04:24 +00:00