summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureCacheBase.cpp
AgeCommit message (Collapse)Author
2016-01-17VideoCommon: Header cleanupLioncash
Also remedies places where the video backends and core rely on things being indirectly included.
2016-01-13TextureCacheBase: Change CalculateLevelSize to match D3D/OGL sizesStenzek
This was causing crashes/driver resets when odd-dimension textures were being loaded, due to the size we were uploading being larger than the size of the higher-level texture calculated by the runtime.
2015-12-29Merge pull request #3407 from phire/fix_assertMarkus Wick
TextureCache, fix an incorrect assert.
2015-12-29HiresTextures: Remove the need to explicitly free SOIL allocated dataLioncash
2015-12-29TextureCache, fix an incorrect assert.Scott Mansell
2015-12-20VideoBackends: Simplify initialization and deinitialization of resourcesLioncash
Approximately three or four times now, the issue of pointers being in an inconsistent state been an issue in the video backend renderers with regards to tripping up other developers. Global (ugh) resources are put into a unique_ptr and will always have a well-defined state of being - null or not null
2015-12-01Fix lens flares in Mario Kart Wii.Scott Mansell
2015-11-24TextureCache: Allow the backends to return nullptr for textures.degasus
2015-11-17TextureCache: Fix crash for invalid textures.degasus
2015-11-15TextureCache: Rewrite EFB Copy control flowdegasus
2015-11-15TextureCache: Split efb2ram from efb2texdegasus
2015-11-06VideoCommon: drop unused variable/setterTillmann Karras
2015-11-06VideoCommon: rename TextureCache to TextureCacheBaseTillmann Karras
2015-10-22TextureCacheBase: Change CacheLinesPerRow to BytesPerRowLioncash
2015-10-18Check the hashes of efb copies before applying them as partial texture updatesmimimi085181
2015-10-15Do not delete strided efb copies on loadmimimi085181
This hopefully allows to use partial texture updates with strided efb copies that start at the same offset as the loaded texture
2015-09-26Respect the stride for efb copies when hashing themmimimi085181
2015-09-22FifoRecorder: Use Video Common to record efb2ram correctly.Scott Mansell
Texture updates have been moved into TextureCache, while TMEM updates where moved into bpmem. Code for handling efb2ram updates was added to TextureCache. There was a bug for preloaded RGBA8 textures, it only copied half the texture. The TODO was wrong too.
2015-09-12Fix performance regression in Sonic the Fighters, introduced by PR#2001mimimi085181
2015-09-12Merge pull request #3019 from mimimi085181/store-base-hashScott Mansell
Store the base hash for paletted textures in the texture cache entries
2015-09-11Merge pull request #2972 from lioncash/alignflacs
General: Replace GC_ALIGN macros with alignas
2015-09-10Store the base hash for paletted textures in the texture cache entriesmimimi085181
2015-09-10Perform garbage collection for efb copiesmimimi085181
This checks every TEXTURE_KILL_THRESHOLD frames, to see if the hash for the memory area of the efb copy has hanged. If it has changed, the efb copy can be removed, it wouldn't be used anymore. Before this pr, some efb copies would never be deleted. Fixes issue https://bugs.dolphin-emu.org/issues/6101 and possibly some other VRAM leaks.
2015-09-07FifoPlayer: Don't check efb copy hashes when plaing back a broken dffScott Mansell
2015-09-06General: Replace GC_ALIGN macros with alignasLioncash
Standard supported alignment -> out with compiler-specific.
2015-09-07Workaround to allow partial texture updates to keep working in NSMBWiiScott Mansell
2015-09-07Make efb2tex behave more like efb2ram.Scott Mansell
Instead of having special case code for efb2tex that ignores hashes, the only diffence between efb2tex and efb2ram now is that efb2tex writes zeros to the memory instead of actual texture data. Though keep in mind, all efb2tex copies will have hashes of zero as their hash.
2015-09-06Use ROUND_UP instead of custom bittwiddling.Scott Mansell
2015-09-06Move common EFB copy code into VideoCommonScott Mansell
Addded a few duplicated depth copy texture formats to the enum in TextureDecoder.h. These texture formats were already implemented in TextureCacheBase and the ogl/dx11 texture cache implementations.
2015-09-05Cleanup and unify handling of efb copy stride.Scott Mansell
2015-07-02Implement scaled partial texture updatesRodolfo Bogado
2015-06-28Use emplace() instead of insert() where applicable for maps.Lioncash
2015-06-24Merge branch 'stable'Jules Blok
2015-06-24Quick fix for an invalid iteratormimimi085181
2015-06-21Support partial texture updates via efb copiesmimimi085181
2015-06-12Options: merge SCoreStartupParameter into SConfigdegasus
2015-06-09Code cleanup for FreeTexture after merging PR #2097mimimi085181
2015-06-05Search the texture cache for small textures by address and hashmimimi085181
This fixes issue 6563: https://code.google.com/p/dolphin-emu/issues/detail?id=6563 This PR adds a 2nd map to texture cache, which uses the hash as key. Cache entries from this new map are used only if the address matches or if the texture was fully hashed. This restriction avoids false positive cache hits. This results in a possible situation where safe texture cache accuracy could be faster than the fast one. Small textures means up to 1KB for fast texture cache accuracy, 4KB for medium, and all textures for safe accuracy. Since this adds a small overhead to all texture cache handling, some regression testing would be nice. Games, which use a lot of textures the same time, should be affected the most.
2015-05-26Merge pull request #2162 from degasus/prefetch_texMarkus Wick
CustomTexture: prefetch all available textures
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-16CustomTexture: prefetch all available texturesdegasus
2015-05-02VideoCommon: Implement EFB dumping for both backends.Jules Blok
2015-03-02TextureCache: load all mipmap levels from custom texturesdegasus
This drops the "feature" to load level 0 from the custom texture and all other levels from the native one if the size matches. But in my opinion, when a custom texture only provide one level, no more should be used at all.
2015-03-01TexCache: increase TEXTURE_KILL_THRESHOLDdegasus
Xenoblade uses more than 40 textures alternately per frame for eg water effects. So don't try to drop them as aggressive.
2015-02-25Merge pull request #2058 from Stevoisiak/Codemaid-Cleanup-Take2Lioncash
Basic Formatting/Whitespace Cleanup
2015-02-25Formatting/Whitespace CleanupStevoisiak
Various fixes to formatting and whitespace
2015-02-24VideoCommon: rename efb2tex and efb2ramdegasus
2015-02-24Fix some -Wsign-compare warningsTillmann Karras
2015-02-19Explicitly set up AllocateTexture configuration for palette conversion.magumagu
No functional change.