From 51104c104d42bf5dd0916841a36fb4edcb896159 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Tue, 22 May 2018 21:06:26 +0200 Subject: [PATCH] [d3d11] Refactor InitTexture method --- src/d3d11/d3d11_device.cpp | 12 ++++++------ src/d3d11/d3d11_device.h | 3 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp index be397366..9eb1ecae 100644 --- a/src/d3d11/d3d11_device.cpp +++ b/src/d3d11/d3d11_device.cpp @@ -182,7 +182,7 @@ namespace dxvk { try { const Com texture = new D3D11Texture1D(this, &desc); - this->InitTexture(texture->GetCommonTexture()->GetImage(), pInitialData); + this->InitTexture(texture->GetCommonTexture(), pInitialData); *ppTexture1D = texture.ref(); return S_OK; } catch (const DxvkError& e) { @@ -219,7 +219,7 @@ namespace dxvk { try { const Com texture = new D3D11Texture2D(this, &desc); - this->InitTexture(texture->GetCommonTexture()->GetImage(), pInitialData); + this->InitTexture(texture->GetCommonTexture(), pInitialData); *ppTexture2D = texture.ref(); return S_OK; } catch (const DxvkError& e) { @@ -256,7 +256,7 @@ namespace dxvk { try { const Com texture = new D3D11Texture3D(this, &desc); - this->InitTexture(texture->GetCommonTexture()->GetImage(), pInitialData); + this->InitTexture(texture->GetCommonTexture(), pInitialData); *ppTexture3D = texture.ref(); return S_OK; } catch (const DxvkError& e) { @@ -1849,8 +1849,7 @@ namespace dxvk { void D3D11Device::InitBuffer( D3D11Buffer* pBuffer, const D3D11_SUBRESOURCE_DATA* pInitialData) { - const DxvkBufferSlice bufferSlice - = pBuffer->GetBufferSlice(); + const DxvkBufferSlice bufferSlice = pBuffer->GetBufferSlice(); if (pInitialData != nullptr && pInitialData->pSysMem != nullptr) { LockResourceInitContext(); @@ -1867,8 +1866,9 @@ namespace dxvk { void D3D11Device::InitTexture( - const Rc& image, + D3D11CommonTexture* pTexture, const D3D11_SUBRESOURCE_DATA* pInitialData) { + const Rc image = pTexture->GetImage(); const DxvkFormatInfo* formatInfo = imageFormatInfo(image->info().format); if (pInitialData != nullptr && pInitialData->pSysMem != nullptr) { diff --git a/src/d3d11/d3d11_device.h b/src/d3d11/d3d11_device.h index abc09a2c..1f52456e 100644 --- a/src/d3d11/d3d11_device.h +++ b/src/d3d11/d3d11_device.h @@ -19,6 +19,7 @@ namespace dxvk { class DxgiAdapter; class D3D11Buffer; + class D3D11CommonTexture; class D3D11Counter; class D3D11DeviceContext; class D3D11ImmediateContext; @@ -380,7 +381,7 @@ namespace dxvk { const D3D11_SUBRESOURCE_DATA* pInitialData); void InitTexture( - const Rc& image, + D3D11CommonTexture* pTexture, const D3D11_SUBRESOURCE_DATA* pInitialData); HRESULT GetFormatSupportFlags(