Commit graph

32 commits

Author SHA1 Message Date
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
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
72e83140f0 TextureCacheBase: Remove the texture size limit for custom textures. Only the GPU restrictions for maximum texture size remain. 2012-05-13 17:43:14 +02:00
NeoBrainX
41d37ab0a0 TextureCacheBase: Support loading custom mipmaps. 2012-05-13 17:42:22 +02:00
NeoBrainX
a5e68ab10e TextureCacheBase: Support dumping individual mipmaps. 2012-05-13 17:41:04 +02:00
NeoBrainX
a8ad59ee3e TextureCacheBase: Move texture dumping to a helper function. 2012-05-13 17:41:03 +02:00
NeoBrainX
3ecc5e879c TextureCacheBase: Move custom texture loading to a helper function 2012-05-13 17:41:03 +02:00
NeoBrainX
eb01a110c9 Implement texture preloading 2012-02-03 21:21:13 +01:00
NeoBrainX
d1605abfa9 Add license header for TextureCacheBase files 2012-01-31 19:52:02 +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
cf899781f9 TextureCacheBase: Update and improve documentation for EFB copies 2012-01-31 19:52:02 +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
67129404dd TextureCacheBase: Small bugfix
Added documentation for hybrid EFB copy stuff
2012-01-31 18:09:35 +01:00
NeoBrainX
5239ba88c9 TextureCache: Remove unsafe texture cache 2012-01-31 18:09:35 +01:00
NeoBrainX
0c1e015ec3 TextureCacheBase: Small change 2012-01-31 18:09:35 +01:00
NeoBrainX
9c39952c34 TextureCacheBase: Kill deprecated entry member isNonPow2
TextureCacheBase: Add a TODO about a potential bug
2012-01-31 18:09:35 +01:00
NeoBrainX
94a8536b8c TextureCacheBase: Simplify texture cache entry initialization 2012-01-31 18:09:34 +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
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
Rodolfo Osvaldo Bogado
eef715b1cf added the possibility to allocate aligned memory, an use it to allocate the buffer utilized in texture decoding, this will make a little easy to use aligned writes when possible in sse2/3 optimized algorithms.
some code additions for future use ;).
please gcc user test this as i don't have opportunity to test it myself i only use reference code to.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7247 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 20:35:05 +00:00
baby.lueshi
1f0663c1a8 Defer texture invalidation to the video thread from the video configuration dialog. Should fix issue 4069
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7108 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-08 03:47:59 +00:00
baby.lueshi
04fcd9499a Whoops, forgot to remove that.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7081 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-05 10:14:05 +00:00
baby.lueshi
888cd78724 Changes to hi-res textures. Textures now load correctly when loading/saving a savestate, and can be toggled on and off in game.
Changed non-hi-res textures to use MurmurHash3, which has better performance that the previous hash.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7080 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-05 10:08:06 +00:00
NeoBrainX
994913ce07 DX11 code maintenance, part 7:
Header cleanups. If anything, this will decrease compile time.. :P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6916 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-25 16:43:08 +00:00
NeoBrainX
76b9e975d5 DX11: Fix mipmaps. Someone forgot creating them at the proper time ;P
DX11: Fix a DX11 debug runtime error caused by the vertex shader output signature and the pixel shader input signature not matching if per-pixel lighting is disabled. Someone forgot disabling those pixel shader parameters ;P
DX11: Enable use of dynamic textures wherever possible.
DX9: Remove two unnecessary TODOs. Someone forgot removing those since they've been obsolete for a long time ;P

Anyway, at least working mipmaps and dynamic textures should increase DX11 performance a bit. And "a bit" is more than my usual "marginally" ;)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6473 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-24 19:13:19 +00:00
NeoBrainX
ee21237d6a Polish, fix and otherwise improve the video plugin configuration dialog:
- Add some info about a backend's feature set (MSAA, Real XFB, EFB to RAM, ..) to VideoConfig
- Gray out options if they aren't supported by the backend or if changing them doesn't affect anything (e.g. changing STC mode if STC is disabled)
- Allow signed bytes for D3D11. Not sure if this causes glitches, but it should work
- Call wxEvent.Skip() in the event function handlers, not sure if this fixes any bugs but the old code definitely caused bugs during development of this patch
- Fix a memory leak in the configuration dialog if D3D11 is used
- Other minor stuff that doesn't need to be mentioned or which I forgot

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6450 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-21 14:47:28 +00:00
skidau
8775abacc6 Optimised EFB copy to RAM.
The finding was that 99% of the time, textures are static in memory. However, Dolphin would pessimistically continue to decode and copy the same texture every time.  The optimisation is to check if the texture matches what is in the cache, and if it does, Dolphin should early exit.

The result is the speed in New Super Mario Bros Wii increased 35% with spinning coins.  Still not as fast as EFB copy to texture though.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6352 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-06 04:46:44 +00:00
NeoBrainX
52cd3aee95 Fix a major speed regression from r6288:
Upon texture reloading, the cache entry hash wasn't updated and thus we effectively disabled any texture caching in that case.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6308 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-24 15:16:31 +00:00
Nolan Check
0e534dd033 Clarify texture cache code. Previously, there were THREE sets of texture dimensions, and it was hard to tell which set was for what purpose.
Now, there are two:
Real dimensions: Width and height of the original GameCube texture
Virtual dimensions: Width and height of the texture used by dolphin-emu's renderer

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6291 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-20 00:39:45 +00:00
Jordan Woyak
cf05cca7a6 Merged common texture cache code from video plugins into VideoCommon. (DX11 native mipmaps currently broken, disabled) Hopefully everything else should still be working.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6288 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-10-19 22:24:27 +00:00