NeoBrainX
9d5fc3d7f0
[bugfix] Properly decode lod_bias.
2012-10-20 21:07:03 +02:00
NeoBrainX
6c8a22de24
[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary.
2012-10-20 21:07:03 +02:00
NeoBrainX
0706050b74
[cleanup] Vastly clean up backend-specific sampler state logic.
2012-10-20 21:07:02 +02:00
NeoBrainX
069d949a57
[cleanup] TextureCache: Kill the autogen_mipmap parameter
2012-10-20 21:07:02 +02:00
rodolfoosvaldobogado@gmail.com
5230146c73
Hey, long time no commits :).
...
So to compensate lets bring back some speed to the emulation.
change a little the way the vertex are send to the gpu,
This first implementation changes dx9 a lot and dx11 a little to increase the parallelism between the cpu and gpu.
ogl: is my next step in ogl is a little more trickier so i have to take a little more time.
the original concept is Marcos idea, with my little touch to make it even more faster.
what to look for: SPEEEEEDDD :).
please test it a lot and let me know if you see any problem.
in dx9 the code is prepared to fall back to the previous implementation if your card does not support the amount of buffers needed.
So if you did not experience any speed gains you know where is the problem :).
for the ones with more experience and compression of the code please test changing the amount and size of the buffers to tune this for your specific machine.
The current values are the sweet spot for my machine.
All must Thanks Marcos, I hate him for giving good ideas when I'm full of work.
2012-10-20 10:22:15 -03:00
Ryan Houdek
a357c77257
Add in GLSL setting again.
...
PS and VS making. Untested and won't work for now.
Add in program shader cache files.
Readd NativeVertexFormat stuffs.
Add in PS and VS cache things.
SetShaders in places.
Fixed EFB cache index computations in OpenGL renderer.
The previous computation was very likely to go out of array bounds,
which could result in crashes on EFB access.
Also, the cache size was rounded down instead of up. This is a problem
since EFB_HEIGHT (528) is not a multiple of EFB_CACHE_RECT_SIZE (64).
2012-10-09 23:23:37 -05:00
Pierre Bourdon
8cefcaa94c
Implement a simple benchmarking mode which logs FPS to a file
...
Very useful to compare performance between two builds, check the impact of
a configuration option, etc. FPS log is stored in User/Logs/fps.txt and is
reset each time you launch a game. Only enabled if you check the "Log FPS
to file" option in your graphics settings.
Could be improved a bit: currently logs only every 1s (so you can't really
see small variations), maybe output more infos to the fps.txt like
average/stddev (but Excel/Libreoffice/Google Docs can compute that easily
too).
2012-10-04 05:41:02 +02:00
NeoBrainX
035840e7b5
Move last XFB size from Render to FramebufferManager.
2012-10-03 13:44:35 +02:00
NeoBrainX
8f5223d0e6
More cleanups.
2012-10-03 13:44:13 +02:00
NeoBrainX
6e4a61a991
Minor cleanups.
2012-10-03 13:44:04 +02:00
NeoBrainX
4d8d86bd6a
D3D11: Implement some PE pixel performance metrics.
...
Super Mario Sunshine is using a cool trick: To determine how much goop has been cleaned in ep. 6 of Sirena Beach, it counts the number of pixels that are input to the blending stage. For that it's using the PE performance registers ;)
Fixes issue 1498.
2012-08-26 20:26:10 +02:00
NeoBrainX
08a9c66037
Revert the recent zcomploc changes including the Graphic_Fixes merge.
...
Reason:
- It's wrong, zcomploc can't be emulated perfectly in HW backends without severely impacting performance.
- It provides virtually no advantages over the previous hack while introducing lots of code.
- There is a better alternative: If people insist on having some sort of valid zcomploc emulation, I suggest rendering each primitive separately while using a _clean_ dual-pass approach to emulate zcomploc.
This reverts commit 0efd4e5c29
.
This reverts commit b4ec836aca
.
This reverts commit bb4c9e2205
.
This reverts commit 146b02615c
.
2012-08-10 20:12:02 +02:00
skidau
0efd4e5c29
Skipped the ZCompLoc pass if the result can be determined at compile time. Brings back the speed lost by r146b02615c07.
2012-08-06 09:29:01 +10:00
NeoBrainX
1c8cdebc22
Set g_texture_cache to NULL upon shutdown. Fixes a crash introduced in previous commits.
2012-06-21 14:21:16 +02:00
NeoBrainX
cc0523e55b
TextureCache: Properly assign texture hashes when EFB to RAM is used without caching.
...
Fixes issue 5472.
2012-06-20 18:18:21 +02:00
NeoBrainX
8bed27a3d1
Enable hires textures even when texture dumping is enabled.
...
Remove some deprecated code.
2012-06-20 18:18:17 +02:00
NeoBrainX
8d30ac462a
Instead of invalidating texcache whenever the graphics configuration dialog gets opened, clean up textures on configuration changes.
2012-06-20 18:18:05 +02:00
NeoBrainX
b5ad382b07
Fast mipmaps deserves to die!!
2012-06-08 00:22:57 +02:00
skidau
146b02615c
Merge rodolfoosvaldobogado's zcomploc code (Graphic_Fixes branch)
2012-05-26 13:47:07 +10:00
NeoBrainX
a5e68ab10e
TextureCacheBase: Support dumping individual mipmaps.
2012-05-13 17:41:04 +02:00
rodolfoosvaldobogado
6a446efd5f
Second Stage: re implement zcomplock and correct all the logic error in PixelShaderGen.cpp. i disable fastzcomlock for the moment to avoid confusions.
...
please test for regressions
2012-04-03 00:08:36 -03:00
rodolfoosvaldobogado
a0d60210fd
First Stage:
...
Fix depth related errors in dstalpha pass.
best place to test: water splash effect in super mario galaxy
2012-04-02 14:26:12 -03:00
NeoBrainX
460610ea0e
Revert Rodolfo's recent zcomploc commits until they actually work correctly.
...
This reverts commit 402006a83a
.
This reverts commit 48d8d71391
.
This reverts commit 450dcc9d2c
.
2012-03-30 01:57:53 +02:00
rodolfoosvaldobogado
402006a83a
more fixes to zcomplock and opengl implementation
2012-03-29 18:26:58 -03:00
rodolfoosvaldobogado
48d8d71391
Fix for my last commit, this must fix the problem in the algorithm pointed by neobrain. thanks
2012-03-27 23:14:59 -03:00
rodolfoosvaldobogado
450dcc9d2c
As requested, this is my implementation of zcomploc using a multi-pass algorithm. My apologize to the others devs for committing in the main branch but is the only way to get this tested as soon as possible.
...
please test for regressions, speed and for other issues fixed, as a example, the black color in water splash in super mario galaxy are fixed with this rev.
please as soon as yo find a bug let me know.
2012-03-27 15:44:58 -03:00
NeoBrainX
fee98b426b
Revert r41bcf657f89d, r3a9fed0ba285, r9adc119e3c2f and re58692653afd (all of them are wrong).
2012-03-24 15:58:44 +01:00
Henrik Rydgard
f5d4fe0bfe
Fix some minor bugs pointed out by PVS Studio (thanks!)
2012-03-03 20:07:20 +01:00
NeoBrainX
9adc119e3c
PixelShaderGen: For custom textures and scaled EFB copies, use correct texel to pixel mapping when sampling textures
...
(D3D9 only)
This is basically the same as revision e58692653a
, just for scaled textures and with a LOT more work...
2012-02-20 20:32:08 +01:00
NeoBrainX
d068686a7f
Revert revision f7d757b46e
.
2012-02-20 11:51:40 +01:00
NeoBrainX
eb01a110c9
Implement texture preloading
2012-02-03 21:21:13 +01:00
NeoBrainX
1446fb33d5
TextureCacheBase: Replace the efbcopy_state member variable of texture cache entries with a more general "texture type"
2012-01-31 19:52:02 +01:00
NeoBrainX
cc54ee7d94
TextureCache: Move EFB copy cache code from TextureConverter to TextureCache
2012-01-31 19:51:32 +01:00
NeoBrainX
a02df43e6d
TextureConverter (OGL/D3D9): Kill EncodeToRam because it wasn't used anywhere and it basically does the same as EncodeToRamFromTexture anyway
2012-01-31 18:09:35 +01:00
NeoBrainX
3b38295cbd
TextureCacheBase: De-uglify hybrid EFB copies (documentation needs updating though)
...
TextureCacheBase: Fixed dynamic EFB copies being set to normal textures.
2012-01-31 18:09:35 +01:00
NeoBrainX
5239ba88c9
TextureCache: Remove unsafe texture cache
2012-01-31 18:09:35 +01:00
NeoBrainX
c5008fe9de
TextureCache: Renaming some variables
...
OGL: Fix a possible bug at texture dumping
OGL: Add a TODO about a possible bug
2012-01-31 18:09:34 +01:00
NeoBrainX
b33be736cd
D3D9/11: Degrade a PanicAlert related to EFB format changes to an ERROR_LOG
2012-01-06 13:45:51 +01:00
nitsuja
39613a95a8
initialize the uninitialized
2012-01-04 01:36:09 -08:00
nitsuja
3e773f093d
fixed a freeze on emu shutdown in windows build
2011-12-19 15:13:26 -08:00
Shawn Hoffman
ad508ab8fb
Let's go ahead and throw this in here, should bring support of Intel IGP back in with DX9.... I can't actually test this for an obvious reason, but I figure while Windows is broken anyway, go ahead with it.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7707 8ced0084-cf51-0410-be5f-012b33b47a6e
That should fix the seg faults on IGP chipsets.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7715 8ced0084-cf51-0410-be5f-012b33b47a6e
Compile fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7716 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-10-08 15:29:04 -07:00
NeoBrainX
7eb06430ed
Only sync shader caches to disk on stop.
2011-09-29 23:16:42 +02:00
NeoBrainX
2b3b32872d
Fix Windows build.
2011-09-29 22:54:52 +02:00
NeoBrainX
81c614fa07
Clean up various things.
2011-09-29 23:32:39 +02:00
NeoBrainX
c710ea33f9
Merge some frame dumping code to VideoCommon, fixes a memory leak in D3D9 and OpenGL if emulation is stopped while dumping frames.
...
Breaks D3D11 frame dumping for some weird reason (memory corruption or whatever?).
2011-09-29 23:32:38 +02:00
NeoBrainX
bd4a5b5ef6
Implement frame dumping in D3D11.
...
Fixes issue 4831.
2011-09-29 23:32:38 +02:00
NeoBrainX
5d075ce507
- D3D9: pass the correct API type to ValidatePixelShaderIDs
...
- don't load shader cache from disk in d3d9/11 if shader debugging is enabled (we won't have any info about the source shader code otherwise, etc)
- dump shader source codes on safe UIDs mismatch
Thanks to LordMark and [SS] for reporting those to me ;)
2011-09-10 03:10:28 +02:00
NeoBrainX
5c14a24ce1
Make shader ID validation optional by adding a gfx setting called "EnableShaderDebugging".
...
Setting this to True will enable additional checks if the shader cache misses any relevant register changes.
2011-09-09 21:34:46 +02:00
NeoBrainX
b28348066e
Improve the shader UID debugging stuff and merge it to VideoCommon, effectively enabling it in D3D9 and D3D11 as well.
2011-09-09 00:32:04 +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
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
Rodolfo Osvaldo Bogado
e5210de9d5
just a little cleanup to maintain minimal interfaces
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7591 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-10 19:16:09 +00:00
Sonicadvance1
3fceffd8c0
We need to require at least shader 2.0a now
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7590 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-08 03:09:07 +00:00
Jordan Woyak
450b5c9c33
fix build
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7586 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-05 01:44:07 +00:00
Sonicadvance1
db0c2bca5b
Allows DX9 shaders to be SM2 compatible again at the loss of accuracy. SM3 is recommended. Fixes issue 4546.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7585 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-04 19:56:18 +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
48b605df71
Fix issue 4509
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7550 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-18 02:03:56 +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
Nolan Check
9222a818ae
DX9: Pay attention to the pitch of a locked surface.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7519 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-06 23:35:48 +00:00
NeoBrainX
6577a5deb6
Add a partial fix for 4xSSAA in D3D9 (issue 4090).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7495 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-30 12:58:03 +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
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
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
smelenchuk
df9f614b58
Have DX9 plugin also dump frames on every VI as opposed to every new frame (follow-up to r7131 and issue #4064 ).
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7411 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-24 20:06:24 +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
Matt Callaghan
8eaed1c105
Partial fix for 3D Vision.
...
It now works in the debug builds, but not in release builds for some reason. I'm not used to big projects like this so it's probably something obvious that I'm missing. Exclusive full screen mode seems to need the fullscreen resolution for the backbuffer when the DX device is created, so I used adapters[adapter].resolutions[f].xres and yres to get that, but in release builds, that gives me the windowed resolution (in debug it give me the fullscreen res, like I believe it's supposed to), which it reallly doesn't like.
It's not a difficult fix probably, but I've been staring at my monitor in confusion for too long now and need to get to bed. If anyone wants to test, you can still enable the 3D Vision option, it just wouldn't be 3D (obviously).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7385 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-21 03:39:28 +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
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
423018f811
Replaced Common::CriticalSection with a std::mutex implementation. 64bit Windows builds now use SRWLocks and ConditionVariables(requires Vista/7, x64 builds will no longer work on Windows XP x64). Tell me if you hate that. Removed Common::EventEx. Common::Event now uses a std::condition_variable impl.(using ConditionVariables on Windows x64, Events on x86, or posix condition variables elsewhere). I experience slight speed improvements with these changes.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7294 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05 06:11:26 +00:00
sl1nk3.s
e8a1c04abf
Fix a typo in BPFunctions causing a PanicAlert in SW:RS2.
...
Really minor bugfix in DX9.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7285 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-04 23:14:21 +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
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
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
Rodolfo Osvaldo Bogado
c40ca6553f
little commit to dx9 add generation mode to RestoreAPIState to avoid possible errors, don't know if this fix anything but now is more correct.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7245 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 20:24:48 +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
sl1nk3.s
18b85b9cd5
Just a small accuracy fix for r6819, fixes the pixel line in the volumetric fog effect of Metroid Prime (closes issue 4162)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7236 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-24 15:04:24 +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
sl1nk3.s
2c00384427
Quick fix for the Pixel Lighting setting to appear in the DX9 backend.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7168 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-13 23:44:55 +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
smelenchuk
b0fa0a83f8
* Dump AVI output on every VI (fixes issue #4064 ).
...
* Add audio dumping (fixes issue #1638 ).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7131 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-11 18:59:42 +00:00
NeoBrainX
6391393c06
D3D9: Fix wireframe rendering.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7095 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-06 18:43:56 +00:00
NeoBrainX
986cd817de
D3D9: Fix 2x anisotropic filtering...
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7087 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-05 22:32:20 +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
f7d757b46e
D3D9: Offset vertices used to copy textures by 0.5.
...
I __think__ this is the actually correct way to do it, but not sure. Someone please have a look at this...
Not sure if this changes anything anyway, since we're using scissor rects to clip this stuff anyway... Maybe the screen edges weren't cleaned properly before though.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7063 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04 18:15:14 +00:00
NeoBrainX
1339c06d6e
D3D9: Some fixes to EFB format reinterpretation. Should be more correct now.
...
Might fix issue 3780.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7062 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04 17:31:58 +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
NeoBrainX
47d182657e
D3D9: Fix anisotropic filtering.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7019 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 13:17:57 +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
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
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
NeoBrainX
0371f15c23
DX9: Only enable dst alpha pass if the EFB format has an alpha channel.
...
Guess it would be better if we made bpmem.blendmode.alphaupdate private to prevent improper usage...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6932 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 17:01:24 +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
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
nitsuja-
a4e338b379
fixed a couple of problems with UpdateFPSDisplay (DX9) (though it's a trivial fix somebody else was probably about to make)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6901 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-24 04:42:34 +00:00
Rodolfo Osvaldo Bogado
7cd7c2838b
2 fixes one for dx9 and one for software plugin.
...
some little optimization to normal loading.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6898 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-23 15:29:57 +00:00
gnick79
a291fcca08
- Trying to recover lost stability in DX9 plug-in
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6896 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-23 01:07:53 +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
sl1nk3.s
493d92eb25
Sneak in a quick fix for the sun effect in Wind Waker and Mario Sunshine before anyone notice it's broken !
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6819 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-11 21:46:58 +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
sl1nk3.s
795a22559b
Fix Z Read precision on DirectX9 plugin, this fixes some stuff in Killer7 such as the one hit kill, and the bullets effect.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6805 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-10 21:28:02 +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
Rodolfo Osvaldo Bogado
807671e32f
fix for a error introduced in my last commit.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6780 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-08 03:41:28 +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
xsacha
c02f56fca3
Use CPUDetect.h and bSSSE3 to fix "unknown machine instructions" on DX9 plugin.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6767 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07 09:42:44 +00:00
xsacha
c4477f68e1
~93% speed improvement (over plain C++) in RGBA -> BGRA conversion for processors that support SSSE3 (Core or newer).
...
About 40% faster than the SSE2 implementation.
May not be required in future but good for reference.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6766 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07 07:54:04 +00:00
james.jdunne
b6a1e9376f
45% speed improvement in RGBA -> BGRA conversion over reference C code. This might turn out to be unnecessary once I refactor the CreateTexture2D/ReplaceTexture2D to call the texture decoder instead of vice-versa and have the SSE2 code convert directly to BGRA and write directly to the D3D allocated texture.
...
Need to investigate source texture alignment and where to introduce that, if it is possible.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6765 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07 05:58:05 +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
gnick79
ca2628f896
Changes:
...
* Fixed a bug on Texture Converter when Copy EFB to RAM's cache is disabled, so...
* ...accordingly, I revert my latest commit because now it becomes useless.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6760 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-06 16:05:11 +00:00
nitsuja-
4f45b422a2
a little cleanup of dx9 depth conversion code that r6751 made unnecessary, and a question about D3DFMT_D24X8 checks, and (most importantly) spelled Stretch right in video config
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6757 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-06 02:24:03 +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
599020ef99
D3D9: Fall back to just creating a depth surface instead of a depth texture if the latter one isn't supported by the hardware.
...
This is a workaround for issue 3256.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6737 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-04 12:56:52 +00:00
NeoBrainX
825ceca9f1
Taking a random guess at what could possibly fix issue 3256...
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6731 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-03 18:00:15 +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
ecf92f5c3c
D3D9: Make sure to use powers of two as render target dimensions if it's needed by the device.
...
Some other cleanups.
Possibly fixes issue 3256.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6725 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-02 23:13:29 +00:00
donkopunchstania
41c40bcd50
Finish implementing gamma correction in DX9.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6697 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-31 07:06:53 +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
0e737235a8
little fix for my last commit
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6666 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-12-27 10:49:14 +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