mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-20 19:54:19 +01:00
[d3d11] Move GenerateMips to D3D11CommonContext
This commit is contained in:
parent
751d7467df
commit
956bad5e84
@ -79,26 +79,6 @@ namespace dxvk {
|
||||
}
|
||||
|
||||
|
||||
void STDMETHODCALLTYPE D3D11DeviceContext::GenerateMips(ID3D11ShaderResourceView* pShaderResourceView) {
|
||||
D3D10DeviceLock lock = LockContext();
|
||||
|
||||
auto view = static_cast<D3D11ShaderResourceView*>(pShaderResourceView);
|
||||
|
||||
if (!view || view->GetResourceType() == D3D11_RESOURCE_DIMENSION_BUFFER)
|
||||
return;
|
||||
|
||||
D3D11_COMMON_RESOURCE_DESC resourceDesc = view->GetResourceDesc();
|
||||
|
||||
if (!(resourceDesc.MiscFlags & D3D11_RESOURCE_MISC_GENERATE_MIPS))
|
||||
return;
|
||||
|
||||
EmitCs([cDstImageView = view->GetImageView()]
|
||||
(DxvkContext* ctx) {
|
||||
ctx->generateMipmaps(cDstImageView, VK_FILTER_LINEAR);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
HRESULT STDMETHODCALLTYPE D3D11DeviceContext::UpdateTileMappings(
|
||||
ID3D11Resource* pTiledResource,
|
||||
UINT NumTiledResourceRegions,
|
||||
|
@ -58,9 +58,6 @@ namespace dxvk {
|
||||
ID3D11DeviceChild* pTiledResourceOrViewAccessBeforeBarrier,
|
||||
ID3D11DeviceChild* pTiledResourceOrViewAccessAfterBarrier);
|
||||
|
||||
void STDMETHODCALLTYPE GenerateMips(
|
||||
ID3D11ShaderResourceView* pShaderResourceView);
|
||||
|
||||
HRESULT STDMETHODCALLTYPE UpdateTileMappings(
|
||||
ID3D11Resource* pTiledResource,
|
||||
UINT NumTiledResourceRegions,
|
||||
|
@ -878,6 +878,27 @@ namespace dxvk {
|
||||
}
|
||||
|
||||
|
||||
template<typename ContextType>
|
||||
void STDMETHODCALLTYPE D3D11CommonContext<ContextType>::GenerateMips(ID3D11ShaderResourceView* pShaderResourceView) {
|
||||
D3D10DeviceLock lock = LockContext();
|
||||
|
||||
auto view = static_cast<D3D11ShaderResourceView*>(pShaderResourceView);
|
||||
|
||||
if (!view || view->GetResourceType() == D3D11_RESOURCE_DIMENSION_BUFFER)
|
||||
return;
|
||||
|
||||
D3D11_COMMON_RESOURCE_DESC resourceDesc = view->GetResourceDesc();
|
||||
|
||||
if (!(resourceDesc.MiscFlags & D3D11_RESOURCE_MISC_GENERATE_MIPS))
|
||||
return;
|
||||
|
||||
EmitCs([cDstImageView = view->GetImageView()]
|
||||
(DxvkContext* ctx) {
|
||||
ctx->generateMipmaps(cDstImageView, VK_FILTER_LINEAR);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
template<typename ContextType>
|
||||
void STDMETHODCALLTYPE D3D11CommonContext<ContextType>::UpdateSubresource(
|
||||
ID3D11Resource* pDstResource,
|
||||
|
@ -133,6 +133,9 @@ namespace dxvk {
|
||||
const D3D11_RECT *pRect,
|
||||
UINT NumRects);
|
||||
|
||||
void STDMETHODCALLTYPE GenerateMips(
|
||||
ID3D11ShaderResourceView* pShaderResourceView);
|
||||
|
||||
void STDMETHODCALLTYPE UpdateSubresource(
|
||||
ID3D11Resource* pDstResource,
|
||||
UINT DstSubresource,
|
||||
|
Loading…
x
Reference in New Issue
Block a user