From 294cb165ba3449cc4fd96eabb5272e2984a58eb8 Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Tue, 19 Feb 2013 22:39:28 -0600 Subject: [PATCH] Don't load level 0 twice for 1-level textures in DX11. --- Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp b/Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp index 844cf24b47..ba05dc83d2 100644 --- a/Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp +++ b/Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp @@ -70,24 +70,19 @@ TextureCache::TCacheEntryBase* TextureCache::CreateTexture(unsigned int width, { D3D11_USAGE usage = D3D11_USAGE_DEFAULT; D3D11_CPU_ACCESS_FLAG cpu_access = (D3D11_CPU_ACCESS_FLAG)0; - D3D11_SUBRESOURCE_DATA srdata, *data = NULL; + // This is just an optimization apparently? 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, NULL, &pTexture); CHECK(SUCCEEDED(hr), "Create texture of the TextureCache"); TCacheEntry* const entry = new TCacheEntry(new D3DTexture2D(pTexture, D3D11_BIND_SHADER_RESOURCE));