summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D/TextureCache.cpp
diff options
context:
space:
mode:
authorMarkus Wick <markus+github@selfnet.de>2015-01-11 01:01:18 +0100
committerMarkus Wick <markus+github@selfnet.de>2015-01-11 01:01:18 +0100
commit6c46f27709f314f2552d2ed6316ae79ed8d0c692 (patch)
tree7da54376d616cc5f6a089b02aef657402c4104bf /Source/Core/VideoBackends/D3D/TextureCache.cpp
parent5dd93fd62b491b2d6752645c8adb5ce8948c44f7 (diff)
parent38f42da55aa49d438fda123ccd7c7126e23714f4 (diff)
Merge pull request #1501 from degasus/texture_creation
D3D: remove load texture on creation optimization
Diffstat (limited to 'Source/Core/VideoBackends/D3D/TextureCache.cpp')
-rw-r--r--Source/Core/VideoBackends/D3D/TextureCache.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/Source/Core/VideoBackends/D3D/TextureCache.cpp b/Source/Core/VideoBackends/D3D/TextureCache.cpp
index 557110f9ec..0b0eea50b1 100644
--- a/Source/Core/VideoBackends/D3D/TextureCache.cpp
+++ b/Source/Core/VideoBackends/D3D/TextureCache.cpp
@@ -81,30 +81,23 @@ void TextureCache::TCacheEntry::Load(unsigned int width, unsigned int height,
D3D::ReplaceRGBATexture2D(texture->GetTex(), TextureCache::temp, width, height, expanded_width, level, usage);
}
-TextureCache::TCacheEntryBase* TextureCache::CreateTexture(unsigned int width,
- unsigned int height, unsigned int expanded_width,
+TextureCache::TCacheEntryBase* TextureCache::CreateTexture(unsigned int width, unsigned int height,
unsigned int tex_levels, PC_TexFormat pcfmt)
{
D3D11_USAGE usage = D3D11_USAGE_DEFAULT;
D3D11_CPU_ACCESS_FLAG cpu_access = (D3D11_CPU_ACCESS_FLAG)0;
- D3D11_SUBRESOURCE_DATA srdata, *data = nullptr;
if (tex_levels == 1)
{
usage = D3D11_USAGE_DYNAMIC;
cpu_access = D3D11_CPU_ACCESS_WRITE;
-
- srdata.pSysMem = TextureCache::temp;
- srdata.SysMemPitch = 4 * expanded_width;
-
- data = &srdata;
}
const D3D11_TEXTURE2D_DESC texdesc = CD3D11_TEXTURE2D_DESC(DXGI_FORMAT_R8G8B8A8_UNORM,
width, height, 1, tex_levels, D3D11_BIND_SHADER_RESOURCE, usage, cpu_access);
ID3D11Texture2D *pTexture;
- const HRESULT hr = D3D::device->CreateTexture2D(&texdesc, data, &pTexture);
+ const HRESULT hr = D3D::device->CreateTexture2D(&texdesc, nullptr, &pTexture);
CHECK(SUCCEEDED(hr), "Create texture of the TextureCache");
TCacheEntry* const entry = new TCacheEntry(new D3DTexture2D(pTexture, D3D11_BIND_SHADER_RESOURCE));
@@ -116,9 +109,6 @@ TextureCache::TCacheEntryBase* TextureCache::CreateTexture(unsigned int width,
SAFE_RELEASE(pTexture);
- if (tex_levels != 1)
- entry->Load(width, height, expanded_width, 0);
-
return entry;
}