Commit graph

318 commits

Author SHA1 Message Date
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
Jordan Woyak
e8fe15c3f7 Make titlebar and about dialog fancy for cmake build.
Windows needs fixing.
2011-08-21 17:43:05 -05:00
NeoBrainX
0655ee571d Shader compilation error message modified to contain some helpful information for noobs (includes a reference to the full bad shader dump).
Removed the "Hide Shader Errors" option; hide shader errors if panic handlers are disabled now.
Removed superfluous error messages about shader compilations; display only one error message instead.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7688 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-07-29 22:18:11 +00:00
baby.lueshi
d8fc690838 New "TAS Input" feature for precise joystick inputs. The feature is still a work in progress, but is functional. Currently overwrites any joystick/keyboard analog inputs and does so for all controllers.
Renamed OnFrame.cpp/h to a more accurate Movie.cpp/h. Made some small changes that may improve movie synchronization.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7620 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-24 06:50:50 +00:00
NeoBrainX
8244efcc02 Revert r7421 and r7422.
Should fix issue 4413.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7592 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-11 19:37:21 +00:00
NeoBrainX
84906edf61 Fix applying anti-aliasing without having to open the gfx config. Thanks to skid for pointing out the VerifyValidity problem to me ;)
Fixes issue 4498.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7574 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-31 20:16:59 +00: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
NeoBrainX
3e384cac7f Fix EFB format change emulation in D3D11 if MSAA is enabled.
Fixes issue 4346.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7496 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-30 14:08:58 +00:00
NeoBrainX
a779b92a09 Remove configuration profile support.
I.e. revert most of the video configuration dialog changes since r7483.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7484 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-25 20:06:45 +00:00
Nolan Check
9b697ed28f DX11: I think I've figured out where the game enables texture offsets for lines and points.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7461 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-15 22:34:54 +00:00
Nolan Check
9fc12bcaa2 DX11: Resolve multisampled EFB before encoding.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7460 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-15 22:32:40 +00:00
donkopunchstania
77a4a64909 Fix an error introduced in r7083. In the pixel shader manager the farZ and zRange of the z bias were flipped. Switched to using the viewport struct rather than a raw float array to hopefully avoid such confusion in the future. Fixes issue 4060.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7446 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-11 01:49:32 +00:00
NeoBrainX
c4cd8d84e4 Revert r7086.
Preferring the slow code until it gets optimized properly...


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7435 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-02 11:38:29 +00:00
smelenchuk
7a9a47376f roll back r7431
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7432 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-01 01:46:18 +00:00
smelenchuk
15c51c37f3 Add a "force no texture filter" option, useful for some 2D games (like Mega Man 10) and people who like their pixelated graphics.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7431 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-01 01:35:07 +00:00
Jordan Woyak
44b4198d17 Fixed issue 4141.(key press beeping) Initializing the video backend in the GUI thread seemed to be the cause for whatever reason. Hopefully other platforms don't hate this change.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7425 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-31 05:36:54 +00:00
Nolan Check
3ef8a57da6 DX11: Fix issue 4345
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7423 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-30 16:01:03 +00:00
Jordan Woyak
306c3570d1 Eliminated a memcpy in DX11's vertex shader disk cache loading. Maybe games will boot faster now, who knows?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7422 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-30 10:46:27 +00:00
Jordan Woyak
3d5d205c73 I think clean up DX11 code a bit. Used "smart" pointers to avoid need to manually AddRef/Release in many places. Eliminated the D3DBlob class (replaced with just D3D10CreateBlob). Eliminated some Init/Shutdown functions (moved stuff into ctors/dtors). This should not affect behavior at all, only code maintainability.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7421 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-30 07:17:23 +00:00
Nolan Check
40b8db30e3 DX11: Correct line width and point size by taking viewport rect into account. Twilight Princess map looks almost perfect except for the drop shadows around the borders: the lines are too skinny, but the corner points seem to be correct.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7418 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-28 05:42:21 +00:00
gnick79
017735b9ff * GUI Video-Settings changes:
- Removed recent ghanges about separate per-game Video Settings
  - Added "One Window 3-State Support" (very close to full implementation)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7391 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-21 19:57:31 +00:00
Jordan Woyak
068855bbd6 Moved per-game graphics configuration to the game-list right click menu. It will be too difficult to make the "profiles" drop-down thing work with 3-state vs 2-state checkboxes. The per-game settings now have "undetermined" states, except for the radio buttons(I'll fix that later). It's super hacky right now. Video config (probably all config stuff) could be redone.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7386 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-21 05:46:33 +00:00
skidau
4079523346 Game-specific video settings:
* Moved the config validity check to reflect the emulator enforced settings at the config dialog
* Removed some obsolete validity checks
* Corrected "EnablePixelLighting" typo in the ini files

Fixes issue 4277.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7374 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-19 00:50:34 +00:00
Jordan Woyak
78d9f927e1 Eliminated memory leaks of the save state code and put it in a namespace. It is prettier than before, but it could be better (less global usage). Other minor stuff.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7366 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-17 10:17:45 +00:00
sl1nk3.s
571013acd8 Fix the video software backend. (closes issue 4269)
Some warning fixes and cleanup.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7361 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-16 22:48:17 +00:00
Glenn Rice
bca4f94b47 More work on making dialogs close when escape is pressed, and some general GUI code clean up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7360 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-16 22:22:21 +00:00
Nolan Check
aa19fa97d9 DX11: Preserve w coordinates of lines and points. Fixes glitches when a line is partially behind the camera.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7357 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-16 03:02:25 +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
Nolan Check
c83e5ee35b DX11: Don't apply culling to lines and points. Fixes Metroid Prime beam-charging effects.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7346 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-15 03:51:31 +00:00
Nolan Check
580cd2539c Yikes, I have no idea how this happened.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7341 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-14 09:48:12 +00:00
Nolan Check
7c536b8f15 DX11: Support thick lines and large points with geometry shaders. Lines still aren't drawn with correct thickness, see Twilight Princess map. But the map corners are drawn with correct shadow "blobs" for the first time!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7340 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-14 09:38:29 +00:00
Nolan Check
344c4019db Attempt to fix issue 4234.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7337 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-12 18:13:54 +00:00
Soren Jorvang
610df4ab78 Fix OS X nowx.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7321 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-08 23:25:37 +00:00
Nolan Check
6e348a2731 DX11: Add real XFB mode support. May not work perfectly yet. I'm working on a set of fairly big VI-related changes. When I'm done, it should improve animation smoothness for all the backends, especially when virtual or real XFB mode is enabled.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7319 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-08 07:39:36 +00:00
Nolan Check
9abf449e7c DX11: Eliminate most int-to-float conversions and use float math in more places. GPUs are more efficient with float operations. This gives a slight speed-up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7303 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05 20:40:17 +00:00
Glenn Rice
3ffdcf1aec Put the video prepare code back, and use the existence of the g_renderer to determine if video prepare has been run or not.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7274 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-02 15:13:13 +00:00
Glenn Rice
3af93e8cf3 If the DSP LLE can not find the needed ROM files exit the emulator without crashing the application. Also reimplement soren's revision 7195 in a way that works on linux and windows. (This makes it easier to clean up the video backend if the DSP emulator fails to initialize.)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7271 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-02 05:16:49 +00:00
Nolan Check
74f22a57d1 DX11: Simpler depth-fetch. All DX10+ cards should have enough float precision to make this safe.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7269 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-01 05:32:13 +00:00
Nolan Check
7be1080dff DX11: Implement the rest of the EFB encode formats, but beware: I don't have any games to test them.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7267 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-01 05:07:23 +00:00
Glenn Rice
a5b471f490 More conversion from char * to std::string.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7266 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-01 03:06:14 +00:00
Glenn Rice
ba54fac9eb Convert GetUserPath to return a std::string instead of a const char *. This simplifies its usage in most cases.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7265 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-28 20:40:15 +00:00
Nolan Check
e926b28480 DX11: Improve efb-encode shader some more.
According to AMD's GPU ShaderAnalyzer, most combinations of shaders have about 1.5x-2x higher peak per-clock throughput after this commit. For those concerned about performance, I do intend to make this at least as fast as the other backends. This is one more step toward that goal.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7262 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 20:07:59 +00:00
Nolan Check
54078ef9cc Improve DX11 efb-encoder shader code generation a little
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7258 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 09:33:03 +00:00
Nolan Check
449e79aea5 Fix a brain-fart....
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7256 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 01:51:03 +00:00
Nolan Check
f0c5cc76a9 Add EFB encode-to-RAM support in DX11 backend. It could probably be simplified a lot, and not all the possible formats are implemented. I tried to use the dynamic-linking feature of shader model 5, but Microsoft's HLSL compiler is broken. "Dynamic mode" is implemented, but disabled for now.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7253 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-26 23:41:02 +00:00
Glenn Rice
992f8be5b0 If video backend initialization fails, have the emulator die gracefully instead of crashing the application. Also a little clean up of the passage of the video window handle to the backend and back.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7248 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 21:14:13 +00:00
NeoBrainX
7dc3a6cc92 D3D9/11: Fix that "Disable Dest. Alpha Pass" option...
Thanks to NaturalViolence for reporting ;)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7244 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 18:22:04 +00:00
Soren Jorvang
febd967907 Back out r7195 pending a closer look at thread safety in the
video backends.

This would be considerably easier if there was a way for me to have
fully working video in some sort of VM. If anyone has achieved that,
preferably with Linux but failing that with Windows, I would
appreciate any tips on how to set it up. VideoSoftware used to more
or less work in a VM, but I've never been able to get OpenGL to do
much more than open the window and display OSD messages.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7201 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 13:45:13 +00:00
Soren Jorvang
c6c0137df4 Combine the two halves of video backend initialization
in Initialize() and Video_Prepare(). Video_Prepare()
then becomes the entry point for associating the current
thread with the rendering context, which is currently
only known to be necessary for OpenGL.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7195 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 01:23:56 +00:00
skidau
855bcfa40c Added an option for input display. This option shows the controls read by the emulator at each frame. GameCube controls in all four ports have been implemented. Wii controls are todo. The option can be found in the graphics settings. This option is usually used for tool-assisted speed-runs (TAS).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7186 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-17 09:12:36 +00:00
Glenn Rice
0ae8d33149 Some work on changing comments, log messages, and variable and function names to reflect that the plugins are not plugins anymore.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7170 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-14 02:18:03 +00:00
Glenn Rice
a8992b7960 Move debugger ui files into a subdirectory. Primarily to make it easy to keep debugger strings out of translations, but also because it is more organized.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7163 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-13 06:06:32 +00:00
gnick79
f34aaf7471 * fixed a GUI displaying bug for post processing shaders when switching between plugins
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7069 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-05 02:13:33 +00:00
NeoBrainX
91ff420ed6 D3D11: Implement EFB format reinterpretation.
Now someone port this to OpenGL please, kthxbye.

Fix some warnings, fix a wrong string, ...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7061 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04 17:00:34 +00:00
Soren Jorvang
9c21d003af Remove the global namespace a bit and remove some dead code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7043 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 18:21:20 +00:00
Glenn Rice
9a975705bf Fix nogui build, and fix a minor issue with the GFX config dialogs when backends are changed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7042 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 17:09:39 +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
gnick79
25af2ae9b8 * All is fixed now about Custom Projection Hack (problem was inverted memmber)
- added support to DX11

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6980 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 00:56:33 +00:00
gnick79
3078db08c7 * Changed the Projection Hack option in game properties to "Custom Projection Hack"
- dislocating all sensible stuff related to "values per game/pattern" outside the sourcecode.
  - giving more control to end-users across the user-friendly interface.
  - deleting/cleaning some dead variables.
  - updating all gameconfig.ini data to reflect new PHack concept (pending upload).

* Updated Italian translation
  - Includes corrections, a better strings translating and suggestions directly by Google Code's people.

+ Minor old pending changes...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6973 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 21:13:56 +00:00
hrydgard
7f97ce79bb Put some stuff in the gfx plugins into namespaces, so that the symbols won't collide if someone decides to merge the gfx plugins into dolphin too. still more things left to do though.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6972 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 20:16:51 +00:00
Rodolfo Osvaldo Bogado
4c58c7ea03 initial implementation of fog range adjust, I don't think is correct or work right but is a start.
some tweaks and fixes.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6957 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 04:31:56 +00:00
hrydgard
ee6d20e83a build fixin'
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6939 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 22:52:17 +00:00
Soren Jorvang
1c7ca86940 Gah, missed still more files.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6937 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 22:20:30 +00:00
Soren Jorvang
955e3abe9e Clean out the long since bit-rotted video profiling code.
Profiler.{cpp,h} also happened to be the only dupliated
filenames left in Source, the absence of which should make
link-time optimization easier to get working.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6935 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 21:57:36 +00:00
skidau
622af438f7 Fixed the black (alpha) textures in the 8ing games like Tatsunoko vs Capcom and the Naruto series when using the OpenGL plug-in. Thanks to jim.lee for the tip.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6930 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 10:17:13 +00:00
NeoBrainX
994913ce07 DX11 code maintenance, part 7:
Header cleanups. If anything, this will decrease compile time.. :P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6916 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-25 16:43:08 +00:00
NeoBrainX
cd6f00a3e5 DX11 code maintenance, part 6:
Move constant buffer management from EmuGfxState to Vertex/PixelShaderCache.
Finally remove the EmuGfxState class, cheers!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6915 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-25 15:08:30 +00:00
Glenn Rice
3ce1f73f73 Migrate the "Adjust window size" option to the main configuration dialog (under the "Display" tab, in "Emulator Display Settings", after "Window Size"). Also rework the way that the option works. When using render to main and the auto resize option, the application window will be resized and then resized back when the emulator stops. This looks much better than the box in the corner look before. Also only resize when it would actually change the size of the window. This fixes the hang on emulation stop on linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6910 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-25 03:30:12 +00:00
NeoBrainX
f33cd7cbbd DX11 code maintenance, part 5:
Move shader and input layout management from EmuGfxState to Vertex/PixelShaderCache and D3DVertexFormat.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6906 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-24 11:57:17 +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
cd5a2e4cc5 DX11 code maintenance, part 3:
Move rasterizer state management from EmuGfxState to Renderer.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6904 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-24 09:27:16 +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
Glenn Rice
ff06b4c817 Unmark a few strings that should not be translated.
Updated Greek, French, Japanese, Portuguese (Brazilian), Russian translations.
Added Turkish translations thanks to nlgzrgn.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6883 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-20 03:02:51 +00:00
Glenn Rice
c99f0d03a4 Make sure that configuration dialog titles for the plugins are translated and a few other missed strings.
Initialize locale in each of the plugins on windows so that the plugin configuration dialogs are translated and the translators will get off my back.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6847 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-14 15:09:30 +00:00
Soren Jorvang
6de6cf6d46 Don't bother quickly flashing the full pathname to the file loaded
in the title bar. It is more usefully displayed using the overlay
and long pathnames are not suitable for title bars and probably not
even safe depending on the underlying windowing system.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6817 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-11 16:19:15 +00:00
Soren Jorvang
d78be40be9 Print the performance status in exactly one place.
Placing the render window at position 0,0 makes it unmovable on OS X.

Use the conventional r1234 format for SVN revision numbers.

Delete mis-copied .svn directories from the application bundle.
 
Only warn about a failed low-memory allocation if one was requested.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6811 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-11 04:09:11 +00:00
Rodolfo Osvaldo Bogado
d47d2a05d2 some little optimizations and some cleaning.
now lighting should be fully functional again in SM 2.0 cards

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6794 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-09 14:13:24 +00:00
j4ck.fr0st
bedc889a56 Fix alpha reads (hurray for the ZWW Pictograph quest and Killer 7)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6778 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07 19:51:28 +00:00
Rodolfo Osvaldo Bogado
f869281301 normalize the efb to texture process for color textures to make it work the same in all the plugins and with the same accuracy as real hardware (almost :))
please test for regressions and fixes.
some little changes to make pixel shader more dx9 sm2.0 friendly. the condition is not to use pixel lighting ( sorry no hardware support for the quantity of parameters needed).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6777 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07 19:23:57 +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
Rodolfo Osvaldo Bogado
809670611b improve z copy a little further in 4 bits copy,
fix and error introduced by my last commit in dx11 plugin

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6754 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 20:50:51 +00:00
Rodolfo Osvaldo Bogado
d435fd8957 corrected depth copy shader in dx9/dx11 to improve accuracy when doing efb to texture for depth formats
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6751 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-05 17:16:52 +00:00
NeoBrainX
5cad834c96 D3D9:
- Assign width and height to the actual powers of two rather than to the exponents...
- Clean up FramebufferManager()
- Make use of more depth buffer formats to prevent some devices from failing to create a depth buffer

Should fix issue 3256.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6730 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-03 14:35:07 +00:00
NeoBrainX
07d947c834 DX9/DX11: Fixing some maybe possible crashes if a game was started, the config dialog opened and the game closed again. Due to other issues this still happens quite often though...
Various warning fixes.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6684 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-29 13:07:00 +00:00
NeoBrainX
7de6773483 Invalidate texture cache when the STC or native mipmaps options are changed.
Fixes minor graphical glitches in these cases.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6677 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-28 12:46:00 +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
NeoBrainX
6e8df50fff Yet another ClearScreen fix, should be the last one now.
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
2010-12-27 18:09:03 +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
NeoBrainX
6087987f85 ClearScreen fixes:
- 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
2010-12-21 22:18:40 +00:00
NeoBrainX
9ebf507a55 Various ClearScreen fixes.
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
2010-12-20 16:57:29 +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
nitsuja-
6492b84ca5 this probably doesn't fix anything noticeable, but, it seems like a bug that C_COLORMATRIX+4 overlapped with C_PLIGHTS
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6620 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-19 21:09:29 +00:00
nitsuja-
98fe8437ae reduced frequency of dx9 ps_2_0 pixel generation errors, and made dx9 efb depth peek of 16-bit depth buffer not use 24-bit adjustment factor. shouldn't affect other the plugins.
(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
2010-12-19 20:59:23 +00:00
NeoBrainX
aef7f6c3f5 Win32-only:
- 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
2010-12-19 19:43:18 +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
NeoBrainX
4553699077 Merge some state loading stuff to VideoCommon and fixed a crash on Linux system when trying to save a state.
Credits go to miquelmartos from the forums for the patch ;)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6593 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-16 18:21:14 +00:00
NeoBrainX
aa226aaf41 Revert most stuff from r6517 and revert r6501.
PixelShaderGen changes broke Mario Kart Wii, ClearScreen changes broke Super Mario Sunshine.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6592 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-16 17:40:45 +00:00
NeoBrainX
5d16185cf9 Fix some other off-by-one errors in DX9/DX11.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6560 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-11 21:19:25 +00:00
NeoBrainX
7473a0cf98 VideoCommon: Use integer arithmetic instead of floating point arithmetic when dealing with EFB scales.
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
2010-12-10 15:54:14 +00:00
NeoBrainX
e2543689b8 DX11: Fix a crash when accessing the EFB.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6536 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 22:28:46 +00:00
NeoBrainX
8d9e1f2dd1 DX11: Remove some dead code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6533 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-05 17:39:42 +00:00
NeoBrainX
7854bd7109 Merged the D3D9 debugger into VideoCommon/VideoUICommon:
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
2010-12-05 14:15:36 +00:00
Rodolfo Osvaldo Bogado
cb58eb45f0 posible fix for issues 2850 and 3407
thanks to tapcio for the info

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6502 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-30 21:44:54 +00:00
Rodolfo Osvaldo Bogado
28216fc7f2 possible fix for issue 3014
thanks to iceman4love77 for tracking the error

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6501 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-30 15:03:49 +00:00
NeoBrainX
c540995193 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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6494 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-28 17:25:19 +00:00
NeoBrainX
fa5f206797 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.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6491 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-28 15:23:51 +00:00
NeoBrainX
5ae1b65388 DX11: Fix stuff if MSAA is disabled.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6482 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-27 11:37:57 +00:00
NeoBrainX
7698d85a8e DX11:
- 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
2010-11-27 11:11:05 +00:00
Jordan Woyak
e6658d5339 Minor change to ease video plugin merging. Made static NativeVertexFormat::Create function into a virtual function of VertexManager. I believe this is the last bit of code which is only declared in VideoCommon and defined in each of the plugins.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6479 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-26 09:25:08 +00:00
NeoBrainX
76b9e975d5 DX11: Fix mipmaps. Someone forgot creating them at the proper time ;P
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
2010-11-24 19:13:19 +00:00
Matt Callaghan
ebe5472e1d Tiny commit. Just re-added 3D Vision to the config dialog. Hope nobody minds, I made sure it gets greyed out and all that. Sorry about my lack of commits, got another ongoing project that's gotten me a bit hooked.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6471 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-24 17:13:12 +00:00
NeoBrainX
d36ede020c DX11:
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
2010-11-23 19:58:02 +00:00
Jordan Woyak
49120d113f Reorganized some video config dialog related code. Deleted remnants of the old DX11 config window.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6460 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-22 22:17:35 +00:00
NeoBrainX
5ef4167c55 DX11: Dynamically load dxgi.dll and d3d11.dll.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6451 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-21 15:34:04 +00:00
NeoBrainX
ee21237d6a Polish, fix and otherwise improve the video plugin configuration dialog:
- 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
2010-11-21 14:47:28 +00:00
Jordan Woyak
0816fa2629 Fixed RealXFB being enabled when XFB box is unchecked. Moved some shared code into VideoCommon. Renamed EFBCopyDisable setting to EFBCopy"Enable" in the code and inifile. Fix DX11 settings not loading. Fixed Issue 3378.(graphics settings dialog displaying gameini settings in game)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6435 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-18 03:50:50 +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
Jordan Woyak
db35fe4100 Made the graphics plugins use a shared configuration dialog. There are a few minor issues: unsupported settings are shown, dx9 3d settings are missing, tabs/groups could be organized better, could use tooltips, cmake and scons need to be fixed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6422 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-15 09:54:07 +00:00
Jordan Woyak
b4ffd640b7 Made LinearDiskCache a template class. Keys are now some POD type (fixed size). Eliminates casting and key size checking.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6420 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-15 05:22:03 +00:00
Jordan Woyak
0da42fcca7 Merged some FramebufferManager code into VideoCommon.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6417 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-14 23:31:53 +00:00
Nolan Check
3d866bd35d DX11 plugin: Fix a small oversight
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6389 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-13 00:05:14 +00:00
NeoBrainX
38d06e76d6 DX11: Add an option to choose the internal resolution.
DX9: When clearing the back buffer in Renderer::Swap(), use IDirect3DDevice9::Clear instead of a clear quad if possible. Should improve performance marginally.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6373 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-10 16:43:27 +00:00
skidau
b565618442 Removed the wait for swap when XFB is used. This fixes flickering in "Fragile Dreams" and "Another Code R".
Fixes issue 3466.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6360 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-08 08:51:30 +00:00
NeoBrainX
58c8e7cb48 DX9/DX11: Remove some dead or obsolete code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6354 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-07 10:11:58 +00:00
NeoBrainX
48859da6e3 DX9/DX11: Fix and simplify ClearScreen. At least fixes a small glitch in Super Mario Sunshine with DX11, might fix several other things as well in both plugins though (so test this, please!)
Explanation of this commit: We only have to care about four BP registers in ClearScreen, the remaining API state should be reset. The colorEnable and alphaEnable parameters are obsolete, for some reason directly using them caused the SMS glitch with DX11 (because of that bpmem.zcontrol.pixel_format == PIXELFMT_RGBA6_Z24 check in BPFunctions.cpp, is this one actually correct?)

The comment in BPFunctions.cpp was at least misleading (if not even wrong), so I removed it.

For what it's worth, someone needs to port this to the OpenGL and Software plugins (unless they're doing this properly already)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6327 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-01 19:13:50 +00:00
NeoBrainX
ab53c84dcf Properly emulate the alpha read pixel engine register function (used for EFB peeks).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6313 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-24 19:52:52 +00:00
Nolan Check
b71cd5f383 A couple minor things I have left over
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6312 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-24 19:41:10 +00:00
NeoBrainX
5be617c129 Fix an off-by-one error introduced in r6309.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6310 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-24 17:04:20 +00:00
NeoBrainX
5cdda90182 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

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6309 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-24 16:53:33 +00:00
NeoBrainX
91186d2b8a DX11: If the virtual XFB list overflows, replace the oldest XFB with a new one instead of just failing.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6305 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-23 18:44:01 +00:00
skidau
7410056536 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.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6304 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-23 12:26:57 +00:00
NeoBrainX
5ebc9c97db 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.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6303 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-23 09:59:33 +00:00
NeoBrainX
ae07f24b98 Fix a small but severe and stupid bug introduced by r6301...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6302 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-22 20:58:42 +00:00
NeoBrainX
f9187ab508 DX11: Use a ring buffer in the utility functions for speedup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6301 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-22 20:48:20 +00:00
NeoBrainX
ef75d96655 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.

Other changes:
- 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


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6300 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-22 19:40:05 +00:00
skidau
4c4348a0a7 Applied the change from r6297 to the DX11 plug-in.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6298 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-21 15:06:01 +00:00
Nolan Check
95cfca08e2 Put infrastructure in place so that other plugins may support dual-source blending.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6296 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-21 05:22:18 +00:00
Nolan Check
cb453a0fb3 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.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6294 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-20 03:11:22 +00:00
Nolan Check
479eea6ad2 DX11 plugin: Fix numerous Metroid Prime glitches. The "techno energy ball lighting" glitch is remains, however.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6293 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-20 02:29:20 +00:00
Nolan Check
b1d6417f13 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
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6292 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-20 02:17:16 +00:00
Nolan Check
0e534dd033 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

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6291 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-20 00:39:45 +00:00
Jordan Woyak
cf05cca7a6 Merged common texture cache code from video plugins into VideoCommon. (DX11 native mipmaps currently broken, disabled) Hopefully everything else should still be working.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6288 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-19 22:24:27 +00:00
NeoBrainX
9ffc071e34 Some stuff which was still lying around on my hard disk:
- Add a sanity check in CRenderFrame::MSWWindowProc. Possibly reduces the risk of a crash when starting a game and immediately closing the emulation window when using the DX9 plugin.
- DX11: Add the resource usage as a parameter to CreateQuadVertexBuffer, possibly to be used in the future.
- reduce the size of the EFB access buffers from 4x4 to 1x1 since they needn't be bigger anymore
- some fixes to the recent hires commit.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6256 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-04 11:09:32 +00:00
NeoBrainX
4907e6b6d2 DX11: Add texture dumping and hires texture loading support.
Not sure if hires textures are working perfectly, yet, so test this, please.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6255 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-04 11:02:35 +00:00
Jordan Woyak
841583b8f3 Merged identical VertexManager code from DX9/DX11/OGL plugins into VideoCommon. Still need to merge VertexManager::Flush (will be easier after TextureCache is merged). Purposely using a class/virtualfuncs rather than a namespace so multiple VertexManager can be in one plugin (VideoMergeNew? :p).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6249 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-03 00:41:06 +00:00
NeoBrainX
c0e90d4b39 DX11: Clean up AccessEFB and fix a crash. Thanks to pico554 for hinting at the wrong part ;)
Should fix SMG for NVIDIA users. Slightly changes behavior of the AccessEFB function, so test this for regressions, please (esp. in HD resolutions).

I tried to apply the same changes to Video_DX9, but for some reason EFB access didn't work anymore then. Might look into that later.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6247 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-02 11:50:50 +00:00
skidau
719521eeeb Added EFB Scale option to the OpenGL plug-in.
Renamed EFB Scale to Internal Resolution.
Removed Auto Scale option (it is now always on).
Added on-the-fly changing of the Internal Resolution in the OpenGL and Direct3D9 plug-ins.
Further consolidated the code in the video plug-ins.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6240 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-30 15:24:34 +00:00
skidau
7eb99b9088 Fixed r6235 for the Mac and Linux builds. Thanks, glennricster.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6238 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-09-28 21:28:49 +00:00