degasus
8923968b47
Revert "VideoCommon: create native texture pool"
...
This reverts commit 6cece6b486
.
In fact, there was a _huge_ speedup on lots of games (mostly on nvidia+ogl), but there are some crashes on D3D.
I have to fix this crash and then I'll commit something like this again :-)
Conflicts:
Source/Core/VideoCommon/Src/TextureCacheBase.cpp
2013-11-07 21:16:36 +01:00
degasus
ea2d8bf328
VideoCommon: fix custom textures
...
This fix a regression by revision 6cece6b486
delete pointer must not do anything if pointer==NULL.
2013-11-07 15:55:34 +01:00
degasus
6cece6b486
VideoCommon: create native texture pool
...
We often need the same native texture objects for new textures. This commit
try to avoid destroying and creation of this textures by pooling them.
This should be a big performance gain for some efb2ram games as they may
overwrites partially a cached texture (which would be deleted) and afterwards
try to read it.
Creating/destroying sounds like an easy task, but it isn't. eg the nvidia ogl
driver synchonize their threads do avoid use-after-free issues.
2013-11-05 12:21:22 +01:00
comex
c579637eaf
Run code through the advanced tool 'sed' to remove trailing whitespace.
2013-11-03 20:54:05 -05:00
Tony Wasserka
ed88cf6cad
Removing more references to D3D9.
2013-10-06 13:37:10 +02:00
skidau
196d152ad7
Invalidate the texture cache using the GPU thread when the CPU thread makes a request.
...
Fixes issue 6350.
2013-06-08 11:28:54 +10:00
Lioncash
8da425b008
Formatting cleanup for VideoCommon.
...
Block braces on new lines.
Also killed off trailing whitespace and dangling elses.
Spaced some things out to make them more readable (only in places where it looked like a bit of a clusterfuck).
2013-04-24 09:21:54 -04:00
lioncash
d244bca1f5
Fix a bunch of random typos in comments and logging.
...
Also update the comment headers for two functions in GCMemcard.cpp.
2013-04-19 09:21:45 -04:00
Lioncash
bab9963b00
New license header introduced for DiscIO, AudioCommon, InputCommon, VideoCommon, and Common projects.
2013-04-17 23:09:55 -04:00
lioncash
edd9d0e0ef
Clean up more space/tab mismatches in AudioCommon, Common, and VideoCommon.
...
Not planning to touch Core since it's the most actively changed part of the project.
2013-03-19 21:51:12 -04:00
degasus
a1c5e90083
Merge branch 'master' into GLSL-master
...
Conflicts:
CMakeLists.txt
Source/Core/DolphinWX/CMakeLists.txt
Source/Core/DolphinWX/Src/GLInterface.h
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
Source/Core/VideoCommon/Src/TextureCacheBase.cpp
Source/Core/VideoCommon/Src/VertexManagerBase.cpp
Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj
Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj.filters
Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/main.cpp
2013-03-06 15:59:29 +01:00
degasus
ef7083d78c
also don't cleanup efb copys on efb2ram
...
these may be upscaled and this high res textures would be lost
2013-03-01 11:31:52 +01:00
degasus
d173d646de
fix last commit by neobrain
2013-02-25 16:11:24 +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
Jordan Woyak
6e6d8af6dd
Revert "Don't load level 0 twice for 1-level textures in DX11." and fix it properly.
...
All backend TextureCaches now load level 0 in CreateTexture.
This reverts commit 294cb165ba
.
2013-02-20 05:42:22 -06:00
degasus
a629dea4dc
Merge branch 'master' into GLSL-master
...
Conflicts:
CMakeLists.txt
Source/Core/DolphinWX/Dolphin.vcxproj
Source/Core/DolphinWX/Src/GLInterface/WX.cpp
Source/Core/DolphinWX/Src/GLInterface/WX.h
Source/Core/VideoCommon/Src/TextureCacheBase.cpp
Source/Core/VideoCommon/Src/TextureCacheBase.h
Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoDX11/Src/TextureCache.h
Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoDX9/Src/TextureCache.h
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.h
Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
damn mipmap_fixes ...
2013-02-18 18:49:20 +01:00
NeoBrainX
19ab5bf50d
TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs.
2013-02-18 17:14:56 +01:00
Jordan Woyak
d994e56b60
Changes/cleanup to TextureCache::Load and other mipmap related code.
...
The significant change is what is now line 520 of TextureCacheBase.cpp:
((std::max(mipWidth, bsw) * std::max(mipHeight, bsh) * bsdepth) >> 1)
to
TexDecoder_GetTextureSizeInBytes(expanded_mip_width, expanded_mip_height, texformat);
Fixes issue 5328.
Fixes issue 5461.
2013-02-15 22:56:29 -06:00
NeoBrainX
ed0abc9dc5
Merge branch 'mipmap_fixes'.
2013-02-07 20:40:33 +01:00
degasus
c5fa3e0f3d
move RestoreAPIState and ResetAPIState into backends
...
it's a backend specific hack, so it should be here
should give a small speedup in dx11 efb2tex
2013-01-28 18:16:03 +01:00
degasus
e0ffdda26e
Merge branch 'immediate-removal' into GLSL-master
...
Conflicts:
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
immediate-removal is a new created branch seperated from master but reverted the revert of immediate-removal
so we get less conflicts by merging
2013-01-24 16:58:28 +01:00
degasus
e7d5b274c0
add stage parameter for texture load, so ogl can bind to the correct sampler
2013-01-19 00:47:48 +01:00
NeoBrainX
e7c883d6be
VideoCommon: Implement proper RGBA8 texture loading from tmem.
2013-01-10 18:30:22 +01:00
Lioncash
d9ea718559
Fix an issue where an iterator would become invalidated in TextureCache::ClearRenderTargets()
2013-01-08 23:46:30 -05:00
Ryan Houdek
446d9279b1
Fix clearing of render targets. We were skipping every other one.
2013-01-08 11:14:53 -06:00
NeoBrainX
5a78351033
TextureCacheBase: Fix a potential bug when using custom textures.
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
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
Pierre Bourdon
b27d8ff0d6
Add a missing Invalidate() call in ~TextureCache(). Fixes a regression from 8bed27a3d1
causing textures to load improperly when a game is run two times in the same Dolphin instance
2012-06-27 20:20:28 +02:00
NeoBrainX
7dabba5095
Fix a small bug.
2012-06-20 18:18:20 +02:00
NeoBrainX
043a85f8a6
Minor cleanup.
2012-06-20 18:18:19 +02:00
NeoBrainX
8a5abbddc4
Enable texture format overlay on the fly.
2012-06-20 18:18:18 +02: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
b5ad382b07
Fast mipmaps deserves to die!!
2012-06-08 00:22:57 +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
6202714efd
Fix some regressions from r3b38295cbd08.
2012-03-20 22:36:21 +01:00
NeoBrainX
439613b833
TextureCacheBase: Remove a superfluous TODO (texture hashing takes care of that stuff)
2012-02-04 13:01:52 +01: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
b34b6e47f2
TextureCacheBase: Remove a redundant variable
2012-01-31 19:52:02 +01:00