Commit Graph

3085 Commits

Author SHA1 Message Date
f5d4fe0bfe Fix some minor bugs pointed out by PVS Studio (thanks!) 2012-03-03 20:07:20 +01:00
9276b76fbc VideoSoftware: Implement zfreeze (GXSetCoPlanar).
Fixes Mario Golf: Toadstool Tour's menus.

Reference:
The OpenGL extension SGIX_reference_plane seems to provide the same functionality:
http://www.opengl.org/registry/specs/SGIX/reference_plane.txt
2012-03-02 18:43:44 +01:00
3a9fed0ba2 PixelShaderGen: Fix a bug introduced in revision 9adc119e3c.
D3D11: Fix shader constant mapping.
2012-02-21 12:51:41 +01:00
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
d068686a7f Revert revision f7d757b46e. 2012-02-20 11:51:40 +01:00
fc3eb7c6a7 Fixed a few warnings. 2012-02-09 17:18:46 +13:00
eb01a110c9 Implement texture preloading 2012-02-03 21:21:13 +01:00
dabb35afce Prepare texture preloading support 2012-02-03 21:20:34 +01:00
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
cc54ee7d94 TextureCache: Move EFB copy cache code from TextureConverter to TextureCache 2012-01-31 19:51:32 +01:00
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
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
5239ba88c9 TextureCache: Remove unsafe texture cache 2012-01-31 18:09:35 +01:00
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
b33be736cd D3D9/11: Degrade a PanicAlert related to EFB format changes to an ERROR_LOG 2012-01-06 13:45:51 +01:00
39613a95a8 initialize the uninitialized 2012-01-04 01:36:09 -08:00
3e773f093d fixed a freeze on emu shutdown in windows build 2011-12-19 15:13:26 -08:00
ed1bfdf293 Merge branch 'cmake-osx2' 2011-12-17 16:30:02 +01:00
8c3775ee6f Under OS X, link GL plugin against Cg framework instead of Cg library. 2011-12-05 01:12:09 +01:00
252093295b Do not fail with strict drivers when compiling a not SM2.0 shader
To enforce SM2.0 compatibility, the OpenGL plugin was made to crash when
compiling a shader which does not fit in the SM2.0a limits. However, on some
combinations of OS/drivers/GPU, our shaders already do not fit in these limits,
causing artificial failures only to try to keep a non existant SM2.0a compat.
Basically, this sucks.

This commit increases the artificial limit to SM3.0. If you're using a GPU
which does not support SM3.0 and Dolphin works properly, this should not cause
any problem at all.
2011-12-03 23:24:10 +01:00
575814895c Merge branch 'clearscreen-kill-immediate-mode' 2011-12-01 20:16:23 -06:00
98981cc724 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).
2011-12-01 02:46:59 +01:00
4fcd6994c6 fix wireframe setting toggling 2011-11-29 22:21:43 -06:00
0dfca1cf2b remove now unnecessary glPolygonMode from ResetAPIState 2011-11-29 22:02:18 -06:00
88700e817a make OpenGL ClearScreen use glClear 2011-11-29 21:50:31 -06:00
1e558aedeb Added an EFB peek cache to the GL video plugin
Most of the games using EFB peeks are suffering from major performance problems
when these peeks are not disabled in the graphics settings. This is an attempt
to fix this in the GL renderer by doing the glReadPixels in bulk: instead of
doing a lot of 1x1 pixel reads, read for 64x64 pixels at once and keep that in
a cache.

Deck menu in Baten Kaitos: 3FPS -> 54FPS
Character creation in Monster Hunter Tri: 7FPS -> 60FPS
2011-10-17 18:30:13 +02:00
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
d3e639a397 fix build issue with intel compiler and fix some unsafe string usages, patch by FilthyMonkey 2011-10-01 21:31:43 -05:00
7eb06430ed Only sync shader caches to disk on stop. 2011-09-29 23:16:42 +02:00
2b3b32872d Fix Windows build. 2011-09-29 22:54:52 +02:00
81c614fa07 Clean up various things. 2011-09-29 23:32:39 +02:00
08af37509e More buildfixes.. 2011-09-29 23:32:38 +02:00
6ccfd85f42 Build fix for the linux libav build. 2011-09-29 23:32:38 +02:00
913bc6d15f D3D11: Disable some redundant shader compilation errors. 2011-09-29 23:32:38 +02:00
6d8f641cc9 Fix D3D11 frame dumping. 2011-09-29 23:32:38 +02:00
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
bd4a5b5ef6 Implement frame dumping in D3D11.
Fixes issue 4831.
2011-09-29 23:32:38 +02:00
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
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
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
349a3ae91d Merge remote-tracking branch 'remotes/origin/master' into new-shadercache-uids 2011-09-08 02:14:18 +02:00
6c7bda6851 Various fixes and cleanups. 2011-09-08 02:09:44 +02:00
3939f9595a Add runtime checks to make sure we aren't overoptimizing the pixel shader cache. 2011-09-07 21:15:09 +02:00
17fcd406fc Merge some scissor rect related code to VideoCommon. 2011-09-05 22:04:28 +02:00
b867c21fea apply to dx9 and dx11 backends as well 2011-09-05 12:19:11 -07:00
6845a1596c Fix various cases in scissor rect emulation.
Patch by delroth.
2011-09-05 11:10:23 -07:00
95517a9741 vs2010: Disable LTCG for realz 2011-09-05 09:43:23 -07:00
5a6a2b2bec Do clearscreen and swap, probably won't do debug text nonsense since it looks like trash anyway. maybe later. 2011-08-25 05:20:41 -05:00
31fd25bf61 Move on to XFB drawing 2011-08-25 04:41:45 -05:00
d021f9e3b6 Here we go with the texture cache 2011-08-25 04:28:29 -05:00