Merge pull request #2602 from mimimi085181/partial-texture-updates2

Support partial texture updates via efb copies
This commit is contained in:
Markus Wick
2015-06-24 09:22:50 +02:00
12 changed files with 107 additions and 1 deletions

View File

@ -77,6 +77,13 @@ bool TextureCache::TCacheEntry::Save(const std::string& filename, unsigned int l
return saved_png;
}
void TextureCache::TCacheEntry::DoPartialTextureUpdate(TCacheEntryBase* entry_, u32 x, u32 y)
{
TCacheEntry* entry = (TCacheEntry*)entry_;
D3D::context->CopySubresourceRegion(texture->GetTex(), 0, x , y , 0, entry->texture->GetTex(), 0, NULL);
}
void TextureCache::TCacheEntry::Load(unsigned int width, unsigned int height,
unsigned int expanded_width, unsigned int level)
{

View File

@ -26,6 +26,8 @@ private:
TCacheEntry(const TCacheEntryConfig& config, D3DTexture2D *_tex) : TCacheEntryBase(config), texture(_tex) {}
~TCacheEntry();
void DoPartialTextureUpdate(TCacheEntryBase* entry, u32 x, u32 y) override;
void Load(unsigned int width, unsigned int height,
unsigned int expanded_width, unsigned int levels) override;

View File

@ -84,6 +84,7 @@ void InitBackendInfo()
g_Config.backend_info.bSupportsPostProcessing = false;
g_Config.backend_info.bSupportsPaletteConversion = true;
g_Config.backend_info.bSupportsClipControl = false;
g_Config.backend_info.bSupportsCopySubImage = true;
IDXGIFactory* factory;
IDXGIAdapter* ad;