NeoBrainX
f8d2936840
Fix Windows build, try 3.
2013-03-27 00:13:23 +01:00
NeoBrainX
98362e5934
Fix Windows build, try 2.
2013-03-26 23:44:41 +01:00
NeoBrainX
24ab51f9f6
Fix Windows build, try 1.
2013-03-26 23:35:14 +01:00
NeoBrainX
364a5093d9
ShaderGenCommon: Replace the GenOutput enum by using typeid instead.
2013-03-26 23:21:08 +01:00
NeoBrainX
0e31943216
ShaderGenCommon: Introduce a common shader generator interface to make stuff less confusing.
2013-03-26 23:03:10 +01:00
NeoBrainX
3253603ae7
Merge 'master' into shader-uids-awesome.
...
Conflicts:
Source/Core/VideoCommon/Src/LightingShaderGen.cpp
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
Source/Core/VideoCommon/Src/PixelShaderGen.h
Source/Core/VideoCommon/Src/PixelShaderManager.cpp
Source/Core/VideoCommon/Src/VertexShaderGen.cpp
Source/Core/VideoCommon/Src/VertexShaderGen.h
Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.h
Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.h
2013-03-26 22:21:19 +01:00
NeoBrainX
b75a617d8a
VertexShaderGen: De-uglify VS output structure writing
2013-03-26 19:36:59 +01:00
NeoBrainX
30f1a4b4fe
Partially revert "Now CG plays nice with this new stuff."
...
This reverts commit 3943840d5c .
Suppport for old GLSL versions has been dropped, so to make things less ugly we can use a structure for lights again.
2013-03-26 19:36:59 +01:00
NeoBrainX
0994a5828d
VideoSoftware: Improve fog range adjustment by using less magic and more comments.
2013-03-26 00:57:45 +01:00
NeoBrainX
beb083721a
Windows build fix from web interface...
2013-03-25 21:43:32 +00:00
NeoBrainX
ae146e8bc7
VideoSoftware: Implement fog range adjustment, fixing issue 6147.
2013-03-25 21:13:31 +01:00
NeoBrainX
bb3ce1f8d3
Mark the Direct3D9 backend deprecated.
2013-03-23 23:53:19 +01:00
NeoBrainX
816020f4eb
Prefer D3D11 and OpenGL over D3D9 by default.
2013-03-23 23:52:30 +01:00
NeoBrainX
e877b5019b
PixelShaderManager: Reload fog range adjustment shader constants upon viewport change.
...
Fixes issue 5618.
2013-03-15 15:08:51 +01:00
NeoBrainX
203b1748a3
PixelShaderGen: Force depth textures to be emulated when the result is needed for fog calculation.
2013-03-15 01:01:00 +01:00
NeoBrainX
1f73651a7a
VideoSoftware: Do not clear the depth buffer on EFB copy clears when depth writing is disabled.
2013-03-14 23:59:52 +01:00
NeoBrainX
008fdc7310
Merge branch 'perfqueries'.
...
Adds support for PE performance metrics.
Used in Super Mario Sunshine's "Scrubbing Sirena Beach" level to determine when enough goop has been cleaned up to finish the level.
Also used in TimeSplitters: Future Perfect to determine the appearance of flares around light sources (e.g. sun).
OpenGL and D3D11 only. D3D9 support unlikely to be added unless anyone bothers to do the work.
Initial work and D3D11 support by me. Kudos go to Billiard for adding the OpenGL support and reviving development of this branch that way :D
Slightly (~7%) decreases performance when performance metrics are used (and only then).
Fixes issue 1498.
Fixes issue 5368.
2013-03-02 00:17:37 +01:00
NeoBrainX
cb1d21c032
PerfQueries: Fix an integer overflow.
2013-03-01 23:57:56 +01:00
NeoBrainX
d1acb0a937
OGL: Fix perf metrics being overcounted when using a non-native internal resolution.
2013-03-01 23:12:41 +01:00
NeoBrainX
4058b4c38a
Add documentation to PerfQueryBase interface.
...
Remove the config field for perf queries (wasn't used for the new interface anyway).
Few other cleanups.
2013-03-01 23:02:11 +01:00
NeoBrainX
5a7bb2abfa
D3D11: Port perf queries code to the PerfQueryBase interface.
...
Remove deprecated PerfQuery methods from RenderBase.
Windows build fix.
2013-03-01 19:30:37 +01:00
NeoBrainX
b94f65b666
Remove two incorrect lines. How did those even get there?!
2013-03-01 01:37:47 +01:00
NeoBrainX
cbf5efe191
Some cleanups.
...
PE perf metrics officially declared unsupported for the D3D9 project (out of pure laziness, anyone who cares can implement them :P).
2013-03-01 01:31:57 +01:00
NeoBrainX
1c9860246c
Build fixes for everyone!
2013-03-01 01:14:10 +01:00
NeoBrainX
d0dbcc6369
VideoSoftware: Cleanup PE perf metrics; returning the proper value now.
2013-03-01 01:08:43 +01:00
NeoBrainX
7682ed22c6
Merge branch 'master' into perfqueries.
...
Conflicts:
Source/Core/VideoCommon/Src/VideoConfig.h
Source/Core/VideoCommon/VideoCommon.vcxproj.filters
Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoSoftware/Src/Rasterizer.cpp
Source/Plugins/Plugin_VideoSoftware/Src/Tev.cpp
2013-03-01 01:07:34 +01:00
NeoBrainX
73a0bdd379
Build fixing.
2013-02-25 12:42:52 +00:00
NeoBrainX
1141af64f6
TextureCacheBase: Do not assume EFB copies can safely be deleted when we think they're "unused".
...
Fixes issue 6040.
2013-02-25 12:36:50 +00:00
NeoBrainX
19ab5bf50d
TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs.
2013-02-18 17:14:56 +01:00
NeoBrainX
0f617183a8
Add a possible TODO.
...
Dunno if the hardware behaves like this, but it likely does.
2013-02-18 14:54:24 +00:00
NeoBrainX
6fd96a162f
Video_Software: Fix ZComploc option breaking stuff.
2013-02-15 17:55:16 +01:00
NeoBrainX
fb0102d441
Video_Software: Fix the ZFreeze option doing nothing.
2013-02-15 17:47:29 +01:00
NeoBrainX
183ad0c628
Video_Software: Toggable zfreeze and early_z support for testing.
2013-02-15 17:45:33 +01:00
NeoBrainX
6645bd6fc6
Fix a crash in the FifoPlayer dialog.
2013-02-09 12:39:19 +01:00
NeoBrainX
95d08db46f
Revert "[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary."
...
This reverts commit 6c8a22de24 .
2013-02-07 21:45:06 +01:00
NeoBrainX
ed0abc9dc5
Merge branch 'mipmap_fixes'.
2013-02-07 20:40:33 +01:00
NeoBrainX
6870c1fdd5
Fix some potential issues when blending on EFB formats without alpha.
...
Clean up state transition tables.
2013-02-07 18:01:24 +01:00
NeoBrainX
76148a52b8
Fix a few other things
2013-01-28 22:51:15 +01:00
NeoBrainX
9f1582843d
PixelShaderManager: Reduce number of redundant shader constant updates
2013-01-28 22:15:23 +01:00
NeoBrainX
0fdeb81038
Add some code for generating a shader constant usage profile.
2013-01-28 22:15:23 +01:00
NeoBrainX
700cce9588
More work on making new pixel shader uids work
2013-01-28 22:10:07 +01:00
NeoBrainX
67be1e939a
PixelShaderGen: Some more work...
2013-01-28 21:59:49 +01:00
NeoBrainX
8902c6e38b
Some cleanups, add more fields to pixel shader uid.
2013-01-28 21:56:27 +01:00
NeoBrainX
b519d37128
Move new lighting shader uids to LightingShaderGen.h
2013-01-28 21:52:03 +01:00
NeoBrainX
dc0f470215
Added new shader cache uids for pixel shader gen.
2013-01-28 21:44:39 +01:00
NeoBrainX
3c8df842bb
Moved some of the new shader uid stuff to a common header file.
2013-01-28 21:05:29 +01:00
NeoBrainX
ca0e292dd4
Replace the shader uid system with a new one which quasi-automatically generates uids for shaders.
...
Currently used in the vertex shader only (had to fork lighting shaders for now).
2013-01-28 21:05:29 +01:00
NeoBrainX
6c0f6ffecf
Fix a dumb regression from revision 4925a28f94.
2013-01-19 22:40:20 +01:00
NeoBrainX
37af25e03d
Revert my dual-core fix for FifoPlayer. Apparently it breaks more than it fixes.
...
This reverts commit bab9b5d3ce .
2013-01-19 22:36:05 +01:00
NeoBrainX
f7b0c8684b
BPMemory: Expose more register descriptions for FifoPlayer
2013-01-12 15:25:50 +01:00
NeoBrainX
ad05d568b9
PixelShaderGen: Change error strings to be unique so that we can identify unexpected behavior more easily.
2013-01-11 15:49:20 +01:00
NeoBrainX
99246e1d26
Game ini updates for de Blob.
2013-01-10 19:51:10 +01:00
NeoBrainX
198d60c569
FifoPlayer: Support recording texture preloads
2013-01-10 18:30:27 +01:00
NeoBrainX
e7c883d6be
VideoCommon: Implement proper RGBA8 texture loading from tmem.
2013-01-10 18:30:22 +01:00
NeoBrainX
304814e7cc
Video_Software: Implement proper RGBA8 texture loading from tmem.
...
For RGBA8 textures, AR and GB tiles are stored in separate tmem banks. TextureDecoder did not support that previously.
2013-01-10 18:30:16 +01:00
NeoBrainX
815fd197d3
Fix a potential memleak in FifoPlayerDlg
2013-01-08 21:27:04 +01:00
NeoBrainX
e204a6e015
Add some TODOs.
2013-01-08 18:56:01 +01:00
NeoBrainX
d3882771aa
Fix an assert that had been wrong for ages, apparently.
2013-01-08 18:56:01 +01:00
NeoBrainX
4925a28f94
PixelShaderGen: Shader uid maintainance
2013-01-08 18:56:01 +01:00
NeoBrainX
be706a3977
Disable color writing when alpha test always fails.
2013-01-08 18:56:01 +01:00
NeoBrainX
d26bcb0847
Move alpha pretest to BPMemory.h and rename a bunch of alpha testing related stuff
2013-01-08 18:56:01 +01:00
NeoBrainX
c80f6e8b84
Reword a comment about early_ztest a bit.
2013-01-08 18:55:45 +01:00
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
e979b2d4a2
DX11: Fix a small mistake.
...
Remove some incorrect and/or confusing comments.
Fixes issue 5251. Thanks to limburgerite :)
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
NeoBrainX
5ac1e908b1
Truly unstable.
2012-12-24 22:12:33 +01:00
NeoBrainX
9a9f567f28
... and back to unstable again
2012-12-24 21:29:24 +01:00
NeoBrainX
4798524b75
Dolphin 3.5 release.
2012-12-24 21:29:24 +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
NeoBrainX
249afa5eac
Change copyright year to 2013 in the about dialog.
2012-12-24 19:50:16 +01:00
NeoBrainX
2fedab3bad
OGL: Make OSD messages fade out properly instead of having them disappear spontaneously.
2012-12-24 19:50:16 +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
NeoBrainX
c82136abdc
PixelShaderGen: Drop some useless and potentially buggy code.
...
Thanks to glennrics for noticing.
2012-12-10 16:13:22 +01:00
NeoBrainX
4fc0125fb3
Fix OS X 10.6 compatibility.
...
Patch by mathieudel.
2012-12-07 19:49:08 +01: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
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
NeoBrainX
a135512f9b
Build fix.
...
Fixes issue 5674.
2012-11-16 23:46:28 +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
NeoBrainX
6f21f5eb34
Video_Software: Implement texture preloading
2012-11-03 15:41:41 +01:00
NeoBrainX
f7edfc0118
FifoPlayer: Copy selected object commands to clipboard when pressing ctrl+c
2012-10-22 12:32:57 +02:00
NeoBrainX
52963584f0
[bugfix] Make sure to specify the correct max lod level.
2012-10-20 21:07:03 +02:00
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
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
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