diff options
| author | Markus Wick <markus+github@selfnet.de> | 2015-01-11 01:01:18 +0100 |
|---|---|---|
| committer | Markus Wick <markus+github@selfnet.de> | 2015-01-11 01:01:18 +0100 |
| commit | 6c46f27709f314f2552d2ed6316ae79ed8d0c692 (patch) | |
| tree | 7da54376d616cc5f6a089b02aef657402c4104bf /Source/Core/VideoBackends/D3D/TextureCache.cpp | |
| parent | 5dd93fd62b491b2d6752645c8adb5ce8948c44f7 (diff) | |
| parent | 38f42da55aa49d438fda123ccd7c7126e23714f4 (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.cpp | 14 |
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; } |
