Pierre Bourdon
9b1a66245e
Fix an AUX mixing issue introduced when implementing AXWii. Now FIFA 06 sounds great with AX HLE.
2012-11-27 00:03:40 +01:00
Pierre Bourdon
706939e632
Implement command 10, used by FIFA 06 and linked to AUXB mixing. Sound still broken in that game.
2012-11-27 00:03:02 +01:00
Pierre Bourdon
fb1ecd90b0
Implemented command 13 in GC AX, used in some EA games (FIFA 06 now has broken sound, which is still better than no sound)
2012-11-26 23:34:18 +01:00
rog
db458a234a
Merge branch 'desync-fixes' into movie-fixes
2012-11-26 12:40:56 -05:00
rog
38e0d06e8c
Whoops, was calling GetMD5() twice.
2012-11-26 12:29:36 -05:00
rog
3d9712a99e
Remove more unused code.
2012-11-26 03:48:04 -05:00
rog
c2146921f9
Call InputUpdate() for wii games when using gc controller but not wiimote.
2012-11-26 03:04:17 -05:00
rog
97f5b1665f
what is this even...
2012-11-26 02:11:52 -05:00
rog
0903e20817
Expand input buffer as needed, instead of hardcoding it at 40 MiB.
...
Patch (mostly) by Ilari.
2012-11-25 22:41:48 -05:00
rog
1917f83244
Cleanup and misc movie fixes.
2012-11-25 19:26:37 -05:00
rog
0c6dad6a37
Clear unneeded variables upon stopping emulation.
2012-11-24 18:27:20 -05:00
rog
d26c7fea17
Remove old, unused code.
2012-11-24 01:40:34 -05:00
rog
f251704df2
The trick to multithreaded emulation is to include thread.h more than once.
...
Also, rewords some awkardly written messages.
2012-11-24 01:15:26 -05:00
rog
a374f9f049
Check md5 when recording from save state too.
2012-11-23 22:47:32 -05:00
rog
ca650d4435
Record md5 of game file to .dtm, and check it when playing back.
2012-11-23 22:23:58 -05:00
skidau
085c81da86
Mapped the addco and subfco PowerPC instructions. Fixes Frogger: Hyper Arcade Edition.
2012-11-24 00:04:28 +11:00
NeoBrainX
0fcb246b7e
Enable GFX debugger functionality in Release builds.
2012-11-20 17:54:48 +01:00
Pierre Bourdon
9d85052a66
Implement Wiimote audio output in AXWii. Not very useful yet as no sound is currently being mixed to the wiimote channels.
2012-11-20 11:34:49 +01:00
Pierre Bourdon
affdf08fd6
Real fix for the crashes on Windows with AXWii
2012-11-20 09:49:27 +01:00
Pierre Bourdon
e858835c7e
Fixing the hack fix (I can't multiply 32x32)
2012-11-20 04:26:07 +01:00
Pierre Bourdon
0d3c3f6339
Fix a crash in AXWii with SRC ratio > 4 (which I thought was impossible, but AXWii changed the SRC algorithm)
2012-11-20 04:18:48 +01:00
Pierre Bourdon
321e3a8421
Add global volume handling for AUX mixing and L/R output in AXWii
2012-11-20 03:32:29 +01:00
Pierre Bourdon
ae85159a94
Add surround sound support to GC AX HLE
2012-11-20 03:22:24 +01:00
Pierre Bourdon
954c55e35a
New AXWii now working properly in some games I tested
2012-11-20 03:13:55 +01:00
Pierre Bourdon
e750bed2a9
Rename NewAX -> AX and remove the old code. Time to work on AXWii.
2012-11-19 22:03:56 +01:00
NeoBrainX
4f652c4086
Partially revert "Check if BP and XF changes actually change values before flushing". Dolphin code sucks too much to get optimizations.
...
This reverts commit 5a77cae2e3
.
Fixes issue 5459.
Fixes issue 5606.
2012-11-19 21:09:31 +01:00
parlane
d7e65f03e4
Fix indentation [ using the web editor D: ]
2012-11-19 19:44:44 +00:00
Pierre Bourdon
4f88fee560
Added a small TODO list of things missing in NewAX
2012-11-19 20:25:57 +01:00
Pierre Bourdon
3541d33c25
Support both versions of the mixer_control bitfield. Fixes Skies of Arcadia music being muted (and sounds being mixed only on the left audio channel), this time without a hack.
2012-11-19 20:10:37 +01:00
NeoBrainX
4ff9e03509
Merge branch 'efb_scaling_fixes'.
2012-11-19 13:18:57 +01:00
NeoBrainX
b02bb7617f
Fix some fractional EFB scaling issues.
2012-11-19 13:10:32 +01:00
parlane
9345501388
Dolphin was crashing after attempting to use a NULL on macosx.
...
(turns out that passing NULL to string cmp funcs has "undefined behavior".)
Thanks to Grant Paul for this quickfix!
2012-11-19 03:19:51 +00:00
rog
69e8942dac
Fixes pausing movies for some 30 fps games, in some situations.
...
Thanks abahbob for testing.
2012-11-18 01:07:48 -05:00
XtraFear
d6697d50c7
Added option to toggle the display of On-Screen Display messages in the Interface tab.
2012-11-16 23:54:48 +01:00
NeoBrainX
a135512f9b
Build fix.
...
Fixes issue 5674.
2012-11-16 23:46:28 +01:00
rog
3a8e8af2d5
Merge movie-fixes.
2012-11-16 12:07:22 -05:00
rog
101de62c86
Remove an old TODO, and add a new one.
2012-11-16 12:03:51 -05:00
NeoBrainX
f88e7d3b73
Fix an off-by-one error.
2012-11-16 14:29:11 +01:00
NeoBrainX
a38bb488d2
Remove Renderer::xScale and Renderer::yScale.
2012-11-16 14:29:09 +01:00
NeoBrainX
78031c2d54
Move ComputeDrawRectangle() to Renderer::UpdateDrawRectangle().
2012-11-16 14:25:49 +01:00
Pierre Bourdon
c8b2ba1bc6
Implement the MORE command (0D) used to read more commands from the CPU
2012-11-16 07:51:19 +01:00
Braden
a024d04583
Patch by mwessel that fixes real wiimotes on OSX 10.8
2012-11-15 21:30:19 -06:00
X-tra Fear
5170d65711
Fixed last commit.
2012-11-15 14:47:51 -05:00
Pierre Bourdon
5a2d8661d7
Add comments explaining how the voice processing works
2012-11-15 16:57:33 +01:00
Pierre Bourdon
aa90f799b7
Re-implementation of the AX voice mixing algorithm. Now with 100% less WTF.
2012-11-15 16:30:05 +01:00
rog
25a1979b22
Merge https://code.google.com/r/xtrafear-dolphin-emu
2012-11-14 17:27:46 -05:00
rog
14aa7150d9
Add option for author name for movies. Also, minor cleanup for previous options i've added.
2012-11-14 16:23:20 -05:00
X-tra Fear
11fc13aea4
Fixed WiiMotes disconnecting when ES_LAUNCH is ran.
2012-11-14 16:12:25 -05:00
rog
f5a3379d71
Add config option for mac address. Fixes issue 5694.
2012-11-14 14:28:38 -05:00
Pierre Bourdon
531cc6aaf3
Fixed AUXB_NOWRITE command number and implemented UPLOAD_LRS command (06)
2012-11-14 18:08:29 +01:00
Pierre Bourdon
f84f15c5bf
Oops, forgot a memset which removed all AUX effects
2012-11-14 18:03:55 +01:00
Pierre Bourdon
a630357c9e
Add AUX mixing support as well as a send&return effect implementation
2012-11-14 17:55:16 +01:00
Pierre Bourdon
61c1fab2c6
Fix Windows support again: std::thread can't take a member pointer with StdThread.h from Common
2012-11-14 12:13:19 +01:00
Pierre Bourdon
db46ccd175
More accurate mixing buffers initialization using parameters from command 00
2012-11-14 12:08:41 +01:00
Pierre Bourdon
24d430eba0
Add NewAX to the VC++ project files
2012-11-14 11:32:57 +01:00
Pierre Bourdon
6a1241c03e
Make a hack optional to fix 48KHz output mode with NewAX
2012-11-14 11:25:27 +01:00
Pierre Bourdon
0b275c20af
Added output support to NewAX. Now working fine with Tales of Symphonia.
2012-11-14 11:20:54 +01:00
Pierre Bourdon
18f3630af5
PBs processing is now done, just need the output to be able to test
2012-11-14 06:53:36 +01:00
Pierre Bourdon
7535c6d903
Parse the AX command list in the AX thread
2012-11-14 06:15:55 +01:00
Pierre Bourdon
9e813502ac
Create a new thread for AX and make it handle the command lists
2012-11-14 05:33:04 +01:00
Pierre Bourdon
3195916744
Basic infrastructure for the new AX HLE, currently not doing anything besides answering mails
2012-11-14 05:08:04 +01:00
Pierre Bourdon
e4d18e3a8b
Bound the iteration on the PB list when processing updates.
...
Fixes freezes introduced in 3.0-807 with DSPHLE on some AX games.
Apparently logic doesn't apply inside the HW/DSPHLE/UCodes directory.
2012-11-13 16:50:42 +01:00
Pierre Bourdon
16060290c2
Fix missing notes in musics with DSPHLE.
...
Tales of Symphonia and Skies of Arcadia Legends now have working musics with
DSPHLE. Some other games with the same symptoms (missing instruments) should
probably be fixed by that change too.
2012-11-13 09:37:44 +01:00
rog
8fe5aa4ee8
movie cleanup
2012-11-12 20:40:11 -05:00
rog
8eb6f9002e
Fixes interpreter when not recording or playing back a movie.
2012-11-12 20:20:34 -05:00
rog
a5d210129d
Add an on screen lag counter.
2012-11-11 17:57:06 -05:00
rog
35e5a1e592
Add an option to pause on the last frame of a movie.
2012-11-10 21:57:31 -05:00
Rog
e8c0fea16e
Retain dsp JIT setting when switching to HLE. Fixes issue 5691.
2012-11-09 12:08:56 -05:00
Rog
ab48e1154b
Stop saving undo buffer (and associated .dtm, and .sav) when starting playing back a movie from save state. This is completely useless, and just wastes time copying save states around.
2012-11-08 23:25:55 -05:00
NeoBrainX
6f21f5eb34
Video_Software: Implement texture preloading
2012-11-03 15:41:41 +01:00
Pierre Bourdon
d13163380d
Bye mamario, you won't be missed
2012-11-02 02:48:55 +01:00
sulokuTDCmago
d032c40a58
- Added a new wilcard for importing savegames, which basically shows all saves (gci, gcs and sav). This is set as default (I really got frustrated of having to change the type every single time when making tests for GCMM, and I think it makes more sense at user level to just show all saves regardless the format)
...
- In icon retrieving I removed the "format check" as it shouldn't really matter to have mixed icon formats. Also removed the "Time splitters hack" as there's no reason for it since we are only checking the last 3 bits and I'm pretty sure having bits 1 and 2 set is the same as having them unset.
- Icon retrieving uses AnimSpeed as stop signal (every icon must have an speed set, the first speed that is 0 means there are no more icons)
- Also, in icon retrieving I added support for "blank frames"(Luigi's Mansion and Pikmin that I know of). With this the base for icon animation is complete.
- Fixed PSOIII savegame patch which was wrong before.
Signed-off-by: LPFaint99 <lpfaint99@gmail.com>
2012-10-29 21:02:59 -07:00
Sonicadvance1
5dd49edaec
Badaboom. Add in Memory include to CDUtils.cpp
2012-10-30 02:45:42 +00:00
skidau
303b0f6b6d
Test the audio loop with aligned addresses. Fixes the high pitched squeal in Muramasa.
2012-10-29 14:03:28 +11:00
Ryan Houdek
fb92c338af
Bit of cleanup and fixing of one issue that was noticeable in SMS with Mario's shadow.
2012-10-27 22:50:06 -05:00
skidau
882d5161f8
Merge branch 'Capcom-Music-Loop'
...
* Capcom-Music-Loop:
Removed the fake DMA wait time as it is no longer needed after the aram-dma-fixes branch is merged. This fixes the Resident Evil 2/3 cutscene audio in DSP LLE mode. Fixes issue 2723.
Changed the loop end address detection to an exact match with the current address for ADPCM audio. Fixes the non-looping music in PN03.
2012-10-28 13:36:34 +11:00
Ryan Houdek
dfb3c44d1a
Remove glMatrixMode and glLoadIdentity calls in Render.cpp which do absolutely nothing.
2012-10-27 18:27:16 -05:00
Ryan Houdek
8c1d104ca3
Change EFB copy location rectangles over to a Vertex array
2012-10-27 18:10:31 -05:00
Ryan Houdek
c1fd640964
Rebase immediate-removal on master
2012-10-27 17:22:48 -05:00
rog
95d55ed1c7
fixes for backing up wii saves when playing a movie
2012-10-26 20:04:06 -04:00
rog
8921fe0d09
move wii saves to a backup if playing a movie that starts with no save
2012-10-26 17:36:18 -04:00
rog
0bc2021284
save if a wii game's save data exists when starting recording. Probably not the best way to do this, and could result in a false negative if banner.bin exists, but the actual save file doesn't, but this should work well enough.
2012-10-25 03:15:54 -04:00
rog
8dfb12da3e
stuff
2012-10-24 23:21:34 -04:00
rog
76a6917fdf
Check game ID against what is recorded to the .dtm
2012-10-24 19:42:04 -04:00
rog
7ee455ce3b
When beginning recording, check settings in Init() instead of just in BeginRecordingInput(), since it's called after bootmanager.cpp reads the game's config.
2012-10-24 18:44:26 -04:00
rog
7006cd1217
i'm still not using a branch to fix the name of a variable
2012-10-24 15:32:02 -04:00
rog
4358f8384f
readd memory card detection for movie code. I deleted this before, intending to move it elsewhere, but never did
2012-10-24 15:16:41 -04:00
rog
a1186d84df
update state version
2012-10-23 02:31:16 -04:00
rog
5133ac551b
merge relevant changes from bc61dbdf58a8 in otu0001-desync-fix clone
2012-10-23 02:10:49 -04:00
rodolfoosvaldobogado
72cb1734ee
Some code cleaning for my last commit.
...
the amount and size of the buffer is now changed to "new hardware" frienly values and will fall back to the right values if hardware does not support them.
my next commit will be to a branch, with my ogl work.
2012-10-22 19:37:26 -03:00
skidau
421a75493c
Removed the fake DMA wait time as it is no longer needed after the aram-dma-fixes branch is merged. This fixes the Resident Evil 2/3 cutscene audio in DSP LLE mode. Fixes issue 2723.
...
Removed the ADPCM format detection from the previous commit as it broke the audio looping in Knockout Kings 2003.
2012-10-23 00:30:01 +11:00
skidau
b2a01dc348
Changed the loop end address detection to an exact match with the current address for ADPCM audio. Fixes the non-looping music in PN03.
...
Fixes issue 3998.
2012-10-22 22:59:35 +11:00
NeoBrainX
f7edfc0118
FifoPlayer: Copy selected object commands to clipboard when pressing ctrl+c
2012-10-22 12:32:57 +02:00
rog
aece5310f3
more movie cleanup. Removes the remaining globals that didn't need to be global, rearranges some code to make more sense, and removes some redundant code.
2012-10-21 23:20:28 -04:00
rog
9070e7ff8c
misc movie cleanup and fixes
2012-10-20 22:26:40 -04:00
rog
92d2f5dee2
keeping padding right is so hard
2012-10-20 15:58:29 -04:00
rog
a6028b055b
Save disc changes to .dtm, and load the full movie header every time it's loaded.
2012-10-20 14:40:16 -04: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
rog
0384f61af3
re-rearrange movie code so it actually works all of the time
2012-10-19 19:43:03 -04:00
rog
b1dee5fc23
small fix for undo load state while not recording
2012-10-18 04:40:56 -04:00
rog
79692a6c78
save settings necessary for syncing a movie to the .dtm, and load them upon playback
2012-10-18 04:18:40 -04:00
rog
783409c765
clear the save state loaded from a previous movie when starting emulation
2012-10-18 04:14:25 -04:00
rog
6b99b746c8
fix undo load state and load last overwritten state while recording
2012-10-18 04:11:14 -04:00
rog
7f624cda10
fix recording from save state
2012-10-18 04:03:12 -04:00
rog
a366521d13
Correct the hotkey labels for undo load state, and load last overwritten state buttons
2012-10-18 03:30:44 -04:00
Ryan Houdek
57426ee726
Forced commit
2012-10-13 13:00:04 -05:00
Ryan Houdek
3f0d7312fa
A couple missed lines on the rebase.
2012-10-13 12:43:00 -05:00
Shawn Hoffman
1a8005d948
set ProgramShaderCache program format correctly.
2012-10-09 23:56:00 -05:00
Ryan Houdek
10666a9b87
More 'stuff'
2012-10-09 23:56:00 -05:00
Ryan Houdek
eb7a0c485a
More "stuff" for SS, also a small fix in the program shader cache cache setup."
2012-10-09 23:56:00 -05:00
Ryan Houdek
71f6b1eec6
Change 'stuff'
2012-10-09 23:56:00 -05:00
Shawn Hoffman
210ecad15f
let us try normal c++ static init instead...
2012-10-09 23:56:00 -05:00
Ryan Houdek
03b09bed5d
Get the program binary type correctly or else ATI makes massive (~400MB) shader caches. Also, don't need the line in the PixelShaderGen.
2012-10-09 23:56:00 -05:00
Ryan Houdek
2e15440896
Add support for Dual source blending to older ATI cards that don't support 420pack but do support GL_ARB_blend_func_extended. This is more proper as well anyways.
2012-10-09 23:56:00 -05:00
Ryan Houdek
5085cebaf3
These checks aren't needed when using CG.
2012-10-09 23:55:59 -05:00
Ryan Houdek
e88d35d1c1
Had a few vec4 and float4(0) calls floating around.
2012-10-09 23:55:59 -05:00
Shawn Hoffman
108722bed0
oops, forgot to make sure the gl program is actually free'd.
2012-10-09 23:54:18 -05:00
Ryan Houdek
e3854ded73
Woops, better not forget the ing
2012-10-09 23:54:18 -05:00
Ryan Houdek
4cd748bbec
Remove some warnings in ProgramShadercache, Was using wrong variable for checking dual source blending.
2012-10-09 23:54:18 -05:00
Shawn Hoffman
4c1fef8f98
refactor ProgramShaderCache::PCacheEntry
2012-10-09 23:54:18 -05:00
Shawn Hoffman
aaa405c973
Checking GLEW_VERSION_4_0 is superfluous since we check GL_ARB_get_program_binary, and it's a runtime variable anyways.
2012-10-09 23:54:18 -05:00
Shawn Hoffman
31a8424bcc
fix formatting uglies introduced in glsl-master branch
2012-10-09 23:54:17 -05:00
Shawn Hoffman
4a4833e617
default to GLSL instead of Cg
2012-10-09 23:43:22 -05:00
Ryan Houdek
c4e7a288e5
Add in the Windows fix.
2012-10-09 23:43:22 -05:00
Ryan Houdek
ee529b7125
Only use explicit attribute locations when we are supporting GLSL > 1.2 since we need in/out instead of attribute variable types. This was brought to my attention from MESA. MESA supports GL_ARB_explicit_attrib_location, but yets to support GLSL 1.3, so basically useless extension to MESA right now?
2012-10-09 23:43:22 -05:00
Ryan Houdek
5c486587a6
Write all shaders to disk on emulator stop instead of constantly. Also change pair from u64 to u32.
2012-10-09 23:43:22 -05:00
Ryan Houdek
4eb227bd4c
If user doesn't compile with glew 1.6, cut out program binaries so everything still compiles.
2012-10-09 23:43:22 -05:00
Ryan Houdek
189d12b61c
If CG isn't available, still compile and fallback on GLSL
2012-10-09 23:43:22 -05:00
Sonicadvance1
7c91476650
Missed a if, don't want people crashing now do we?
2012-10-09 23:42:41 -05:00
Ryan Houdek
9996f27120
Give OSX users more of a chance of supporting Single pass DSB in the future.
2012-10-09 23:42:41 -05:00
Ryan Houdek
d012c75005
Implement Program shaders cache. Seems to reduce a small amount of stuttering when F-Zero starts. Did it because I can :|
2012-10-09 23:42:41 -05:00
Ryan Houdek
ef1e157786
Go back to using glGetString with GL_EXTENSIONS because glew 1.7 is required to check for newer 4.2 extensions that way.
2012-10-09 23:42:40 -05:00
Ryan Houdek
ac77bbd47b
Move the GLSL extension checks over here so it is nicer.
2012-10-09 23:42:40 -05:00
Ryan Houdek
7cb3d86e31
Add a define back so we work without GLEW 1.6, Also I missed a line when I was fixing binding sampler locations last night when I was tired.
2012-10-09 23:42:40 -05:00
Ryan Houdek
1aad2e9e56
There we go, actually found the issue.
2012-10-09 23:42:40 -05:00
Ryan Houdek
6759ee701d
This thing fails when we don't support binding. Not 100% sure why I need to set this multiple times.
2012-10-09 23:42:40 -05:00
Ryan Houdek
c76593f6a2
Looky, OSX found an issue for me.
2012-10-09 23:42:40 -05:00
Ryan Houdek
66a245dd68
Remove this silliness
2012-10-09 23:42:40 -05:00
Ryan Houdek
9c09e1973a
Some shader programs don't come with Vertex shaders attached, don't try to bind a Vertex Uniform block then.
2012-10-09 23:42:40 -05:00
Ryan Houdek
f8d0c28e53
Set Sampler values at program make time instead of every frame. Fix an issue when The user had UBO support but not Binding support.
2012-10-09 23:42:40 -05:00
Ryan Houdek
ddd4360d6d
Only delete this buffer if we support it.
2012-10-09 23:42:39 -05:00
Ryan Houdek
7aad45658e
Add a GUI option to use GLSL shaders. Also fix a small typo.
2012-10-09 23:42:39 -05:00
Ryan Houdek
076c1a5aa7
Make sure not to try and bind UBO locations when it isn't supported
2012-10-09 23:41:49 -05:00
Ryan Houdek
7f12daa014
Looks like we make use of fmod, make a GLSL function for it!
2012-10-09 23:41:49 -05:00
Ryan Houdek
ba12c0b4f5
Instead of querying the vertex attribute location. Let's bind it to where CG expects it to be as well. Was causing problems when we were trying to activate the components below and they weren't available. This fixes cubivore with GLSL shader. Also any other game that uses 3 normal pointers.
2012-10-09 23:41:48 -05:00
Jordan Woyak
d70726b035
glMapBuffer was slow, go back to glBufferSubData, single combined ps/vs ubo now
2012-10-09 23:41:48 -05:00
Jordan Woyak
d9117ab6a1
try combining vs/ps ubo
2012-10-09 23:41:48 -05:00
Jordan Woyak
e641ede232
make use of glMapBuffer to set ubo data
2012-10-09 23:41:48 -05:00
Ryan Houdek
04836705b7
Show a bit of information when using GLSL shaders.
2012-10-09 23:41:48 -05:00
Jordan Woyak
8e80771670
fix stupid indentation
2012-10-09 23:41:48 -05:00
Jordan Woyak
73a29bf6a1
have separate variables/functions for VS/PS ubo stuff, array was confusing.
2012-10-09 23:41:48 -05:00
Ryan Houdek
a809feae1a
Disable UBO buffer generation if hardware doesn't support it.
2012-10-09 23:41:48 -05:00
Pierre Bourdon
3bcec51334
More coding style fixes because I suck at sed
2012-10-09 23:41:48 -05:00
Pierre Bourdon
3c6d0fc710
8 spaces indentation -> tabs
2012-10-09 23:41:48 -05:00
Ryan Houdek
a5257c1a0a
Actually have Dual Source blending work for people. Forgot about this change.
2012-10-09 23:41:06 -05:00
Ryan Houdek
a304af75fd
Make this pretty
2012-10-09 23:41:06 -05:00
Ryan Houdek
67687a7b6d
Make sure our UBO buffers are always aligned correctly.
2012-10-09 23:41:06 -05:00
Ryan Houdek
5b06bbf87d
Use UBOs in every shader. I had missed a few. Only cache Uniform locations if we aren't using UBOs.
2012-10-09 23:41:06 -05:00
Ryan Houdek
5bcbf92f43
Make sure to support everything even if GPU doesn't.
2012-10-09 23:41:06 -05:00
Ryan Houdek
d4a80ca3ec
yay, UBOs work 100% now.
2012-10-09 23:41:05 -05:00
Ryan Houdek
1f75ee49bf
UBO works for Pixel Shaders if Binding for UBO is zero, otherwise fails. Probably why Vertex shader UBO is failing. Too tired to investigate right now.
2012-10-09 23:41:05 -05:00
Ryan Houdek
904adb9e3d
More for Billiard <3
2012-10-09 23:41:05 -05:00
Ryan Houdek
ce7a54f32a
Firin ma lazer
2012-10-09 23:41:05 -05:00
Ryan Houdek
b105d70339
Firin ma lazer
2012-10-09 23:41:05 -05:00
Ryan Houdek
c82b92bfc2
Fix one error.
2012-10-09 23:41:05 -05:00
Ryan Houdek
2fbca145cb
Remove bSupportsGLSLLocation since it won't work how I expect it.
2012-10-09 23:41:05 -05:00
Ryan Houdek
4a84c6f742
Add in UBOs, doesn't work yet. Still debugging here.
2012-10-09 23:41:05 -05:00
LPFaint99
5f0f26ef35
add ProgramShaderCache.* to visual studio project files
2012-10-09 23:41:05 -05:00
Ryan Houdek
76e5766a1b
Put Vertex Uniforms in to the correct places to get ready for UBOs.
2012-10-09 23:41:04 -05:00
Ryan Houdek
d897491f94
Few compiler errors that got exposed once I got Dual Source Blending working. Seems it isn't working quite 100% either. Good chance I missed something anyway.
2012-10-09 23:41:04 -05:00
Ryan Houdek
d83ead5914
Support Dual Source Blending in OGL plugin with GLSL.
2012-10-09 23:39:16 -05:00
Ryan Houdek
eff019442f
Playing through SSBM story made me find this.
2012-10-09 23:37:52 -05:00
Ryan Houdek
b24990ca28
Bit of cleanup. Clean up my massive hack in the ShaderManagerFiles. Almost feature parity with Nvidia CG now I think. Just need to do Alpha test with Dual source blending now.
2012-10-09 23:37:52 -05:00
Ryan Houdek
cf68cc0c61
Add support for GL_ARB_shading_language_420pack so we don't have to binding sampler locations. Also add support for GL_ARB_separate_shader_objects which doesn't currently work for some reason....investigating.
2012-10-09 23:37:52 -05:00
Ryan Houdek
081ad949ce
Welp, just fixed that problem.
2012-10-09 23:35:45 -05:00
Ryan Houdek
3c9c5de722
Missed a spot. Most games work now, Still have a problem with viewtiful joe. Destination Alpha pass doesn't work yet, going to use Dual source blending on that.
2012-10-09 23:35:45 -05:00
Ryan Houdek
8058f2f32f
Missed one
2012-10-09 23:33:02 -05:00
Ryan Houdek
9064b76deb
Shader Compile fixes. Played SMS for two shines.
2012-10-09 23:33:02 -05:00
Ryan Houdek
3160da1289
This lets us see stuff with GLSL shaders. Just need to take care of some compile errors now.
2012-10-09 23:33:02 -05:00
Ryan Houdek
7cec31dbf3
Almost there.
2012-10-09 23:33:02 -05:00
Ryan Houdek
8123b137aa
This is the terrible bit that can't be removed until we use UBOs in the GLSL shaders.
2012-10-09 23:31:31 -05:00
Ryan Houdek
0fc755c4df
More stuff
2012-10-09 23:31:31 -05:00
Ryan Houdek
66a5334158
moe
2012-10-09 23:30:48 -05:00
Ryan Houdek
7a4c080c70
mah
2012-10-09 23:29:30 -05:00
Ryan Houdek
411357b54a
Compile
2012-10-09 23:29:30 -05:00
Ryan Houdek
34c7b3fd73
meh
2012-10-09 23:29:30 -05:00
Ryan Houdek
3943840d5c
Now CG plays nice with this new stuff.
2012-10-09 23:27:59 -05: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
3990002250
Optimize JitCache::InvalidateICache by maintaining a "valid blocks" bitset
...
Most of the InvalidateICache calls are for a 32 bytes block: this is the
number of bytes invalidated by PowerPC dcb*/icb* instructions. Profiling
shows that a lot of CPU time is spent checking if there are any JIT blocks
covered by these 32 bytes (using std::map::lower_bound).
This patch adds a bitset containing the state of every 32 bytes block in
RAM (JIT cached/not JIT cached). Using that, a 32 bytes InvalidateICache
can check in the bitset if any JIT block might be invalidated. A bitset
check is a lot faster than an std::map::lower_bound operation, improving
performance of JitCache::InvalidateICache by more than 100%.
Some practical numbers:
* Xenoblade Chronicles (PAL)
56.04FPS -> 59.28FPS (+5.78%)
* The Last Story (PAL)
30.9FPS -> 32.83FPS (+6.25%)
* Super Mario Galaxy (PAL)
59.76FPS -> 62.46FPS (+4.52%)
This function still takes more time than it should - more optimization in
this area might be possible (specializing for 32 bytes blocks to avoid
useless memcpy, for example).
2012-10-06 01:49:09 +02: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
ac2ce8b16e
Video_DX11: Remove some redundant code.
2012-09-27 18:15:45 +02:00
NeoBrainX
bb8b5936c0
Revert "Partially revert revision d511b506120c."
...
This reverts commit 08e06b2293
.
2012-09-27 18:15:44 +02:00
Sonicadvance1
8fed3b76c8
If setting videobackend back to null strings, Just set it to the front of the list. Fixes loading game specific INI files that don't load back the "default" video backend which is nothing.
2012-09-25 00:47:37 +00:00
Ryan Houdek
41266129ba
Should fix issue 5630.
2012-09-24 17:16:34 -05:00
Ryan Houdek
3229bf824c
Should actually load the backend when it changes via game INI
2012-09-23 17:54:23 -05:00
Ryan Houdek
f8f8aea577
Allow the user to set graphics backend from Game INI. Zero GUI option available for setting.
2012-09-23 16:02:11 -05:00
Ryan Houdek
b4ae200d0d
This changes a mmap in MemArena so you don't need 786MB of memory free to actually allocate the 1GB memory space in Linux 32bit. I was also running in to this issue in my development. Kudos to plbl4ster to actually taking the time to research this. Closes issue 5625.
2012-09-23 10:08:13 -05:00