NeoBrainX
b06f30f845
Remove the per pixel depth option.
...
Depth calculations are always done in the pixel shader now.
Due to the unpredictability of our zcomploc hacks this commit probably changes the behavior of some games which use zcomploc.
2013-01-08 18:16:48 +01:00
NeoBrainX
876eee5e60
PixelShaderGen: Don't disable depth texture emulation if z writing is disabled (this is what VideoSoftware is doing).
2013-01-08 18:16:48 +01:00
NeoBrainX
09197e0ffc
X11: Disable OSD hotkeys when the corresponding option is disabled.
2013-01-08 18:16:47 +01:00
Ryan Houdek
446d9279b1
Fix clearing of render targets. We were skipping every other one.
2013-01-08 11:14:53 -06:00
Ryan Houdek
d0301ca89d
Revert 30dd9c2
e9d00bf
db5f4c8
and bff0fae
2013-01-07 13:47:34 -06:00
degasus
b38b62afc6
remove glsl binding support. convert every shader to version 130
2013-01-02 16:56:08 +01:00
Ryan Houdek
ff3b22e1ff
Clear up some warnings that crop up from -Wextra
2012-12-30 03:28:50 -06:00
Ryan Houdek
e5d5365bac
Fix the last few warnings in Dolphin on my system.
2012-12-30 02:34:14 -06:00
Ryan Houdek
ba6564b0b5
Missed a write to depth before discard in PreAlphaTest
2012-12-28 14:48:04 -06:00
Ryan Houdek
9e76a457ff
Beautify the generate pixel shader code
2012-12-28 14:18:39 -06:00
Ryan Houdek
76fc1fe95a
This discard was missing in the alpha pretest area.
2012-12-28 12:18:34 -06:00
Ryan Houdek
3eeebcae45
Another small bit of cleanup as I'm reading it
2012-12-28 12:05:43 -06:00
Ryan Houdek
a25a00640e
Very small cleanup in PixelShaderGen
2012-12-28 11:49:21 -06:00
degasus
48ede4dd30
switch to glsl 130, more than OpenGL 3.1 isn't needed
2012-12-28 16:05:14 +01:00
Ryan Houdek
7d93834cd8
Bit more cleanup from removing Nvidia CG
2012-12-27 22:53:07 -06:00
degasus
316a33d1e6
Merge branch 'master' into GLSL-master
...
Conflicts:
Source/Core/DolphinWX/Src/VideoConfigDiag.h
Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
2012-12-27 10:36:54 +01:00
degasus
bff0faea2d
Merge branch 'immediate-removal'
...
Conflicts:
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
2012-12-25 12:39:00 +01:00
NeoBrainX
e3e14af0dd
Revert "VertexShaderGen: Fix a shader compilation error.". I'm an idiot :p
...
This reverts commit 4d868705fd
.
2012-12-24 21:29:24 +01:00
NeoBrainX
4d868705fd
VertexShaderGen: Fix a shader compilation error.
2012-12-24 19:50:16 +01:00
NeoBrainX
5a78351033
TextureCacheBase: Fix a potential bug when using custom textures.
2012-12-24 19:50:16 +01:00
Ryan Houdek
9209253e0d
Initial removal of Nvidia CG. Still some more cleanup to go
2012-12-24 11:09:52 -06:00
degasus
bd0abb3d2f
revert last commit, add CheckInvalidState to VideoBackend
2012-12-23 13:32:23 +01:00
degasus
ffddfd8662
do only invalid hashes instead of all textures on loading
...
this is a hack, but only the gpu thread is allowed to call ogl commands
suggestion: create an unused texture cache, so we can move all textures there
2012-12-22 17:30:13 +01:00
degasus
2df0c31d13
add invalid flag for BPStructs (fix issue 5790)
...
this flag will be set on loading a state and checked before every rendering.
2012-12-21 21:04:53 +01:00
degasus
cf8f936abb
fix efb2ram decoder
2012-12-19 23:43:05 +01:00
degasus
85ac76e8e2
fix gcc compilation
2012-12-19 23:42:22 +01:00
NeoBrainX
0811311604
TextureCacheBase: Delete textures completely instead of just invalidating them in ClearRenderTargets.
...
That's what would've been done in the next TCB::Load() call, anyway.
Fixes issue 5742.
Additionally, change efb copies to specify 1 as the number of mipmaps because that makes more sense than anything else.
2012-12-17 19:36:31 +01:00
degasus
8b62be2025
fix ShowEFBCopyRegions
...
those fancy colors were the result of the usage of non-allocated heap
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:27:49 -06:00
NeoBrainX
c82136abdc
PixelShaderGen: Drop some useless and potentially buggy code.
...
Thanks to glennrics for noticing.
2012-12-10 16:13:22 +01:00
Glenn Rice
f6df3d1513
OSX build fix for the unordered_map/hash_map issue.
2012-12-10 08:40:27 -06:00
Glenn Rice
e85438cba0
Clean up gcc/g++ compiler warnings that have accumulated.
2012-12-10 00:40:28 -06:00
NeoBrainX
bed260aa14
VertexShaderManager: Fix redundant shader constant updates.
...
Thanks to konpie for spotting this.
Might give a fairly perceivable speedup in the D3D11 backend.
2012-12-01 14:23:24 +01:00
rog
db458a234a
Merge branch 'desync-fixes' into movie-fixes
2012-11-26 12:40:56 -05:00
rog
97f5b1665f
what is this even...
2012-11-26 02:11:52 -05:00
NeoBrainX
0fcb246b7e
Enable GFX debugger functionality in Release builds.
2012-11-20 17:54:48 +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
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
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
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
rodolfoosvaldobogado
ee72852491
implement some code to reduce the amounts of calls to setup vertex format, in d3d9 it gives no noticeable speedup, in opengl it still does not work right.
...
thanks to neobrain for the idea
2012-10-26 23:18:09 -03:00
rodolfoosvaldobogado
eaa1ea71c1
Implement the new buffer approach in opengl. sadly in my machine it gives my only 2 more fps and if your hardware does not support ARB_map_buffer_range is even slower than plain vertex arrays.
...
change naming in all the backends vertex managers to make more easy to continue with the merge an some future improvements.
please test this as i'm interested in knowing the performance in linux and windows with the different hardware platforms.
2012-10-26 11:34:02 -03:00
rog
5133ac551b
merge relevant changes from bc61dbdf58a8 in otu0001-desync-fix clone
2012-10-23 02:10:49 -04:00
NeoBrainX
069d949a57
[cleanup] TextureCache: Kill the autogen_mipmap parameter
2012-10-20 21:07:02 +02:00
NeoBrainX
ee3d6d66d7
[cleanup] [bugfix] TextureCacheBase: Cleanup and simplify mipmapping logic. Possibly fixes a bug or two.
2012-10-20 21:07:02 +02:00
NeoBrainX
c859aaae84
[optimization] TextureCacheBase: Slightly loosen the requirements for reusing mipmapped textures
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
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
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
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
e88d35d1c1
Had a few vec4 and float4(0) calls floating around.
2012-10-09 23:55:59 -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
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
c76593f6a2
Looky, OSX found an issue for me.
2012-10-09 23:42:40 -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
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
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
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
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
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
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
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
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
6e4a61a991
Minor cleanups.
2012-10-03 13:44:04 +02:00
NeoBrainX
bb8b5936c0
Revert "Partially revert revision d511b506120c."
...
This reverts commit 08e06b2293
.
2012-09-27 18:15:44 +02:00
Glenn Rice
d2e057d137
Update libav code to remove deprecation warnings.
2012-08-28 22:34:24 -05:00
Pierre Bourdon
54fc4029dd
Use do { ... } while (0) for the *_LOG macros
...
Without this patch, such code would not compile:
if (cond)
WARN_LOG(FOO, "msg");
else
WARN_LOG(FOO, "msg2");
2012-08-20 13:12:49 +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
NeoBrainX
6e02ad55bc
Maintenance.
2012-08-07 18:57:53 +02:00
NeoBrainX
ec859009b7
Add a sanity check for viewports with zero width/height.
...
Fixes issue 5466.
2012-08-07 01:37:31 +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
Pierre Bourdon
228172d656
Fix a typo in the indexed color vertex loader
...
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2012-08-05 04:24:16 +02:00
Pierre Bourdon
8597660855
Replace all of the opcode data read functions by their SSSE3 equivalent, not only the first one.
...
Patch from konpie: http://forums.dolphin-emulator.com/showthread.php?tid=24658
2012-08-05 04:24:08 +02:00
skidau
b4ec836aca
Removed the offset if the ZCompLoc GREATER or LESS function is used. Fixes the invisible player in THPS3.
2012-06-29 18:47:49 +10:00