1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-05 01:24:14 +01:00

[d3d9] Track NULL state per-subresource

This commit is contained in:
Joshua Ashton 2021-07-24 18:53:22 +01:00 committed by Joshie
parent d6bc355782
commit 4a569918c0
2 changed files with 12 additions and 2 deletions

View File

@ -190,6 +190,14 @@ namespace dxvk {
return m_shadow;
}
/**
* \brief Null
* \returns Whether the texture is D3DFMT_NULL or not
*/
bool IsNull() const {
return m_desc.Format == D3D9Format::NULL_FORMAT;
}
/**
* \brief Subresource
* \returns The subresource idx of a given face and mip level

View File

@ -23,7 +23,8 @@ namespace dxvk {
m_texture (pTexture),
m_face (Face),
m_mipLevel (MipLevel),
m_isSrgbCompatible (pTexture->IsSrgbCompatible()) {
m_isSrgbCompatible (pTexture->IsSrgbCompatible()),
m_isNull (pTexture->IsNull()) {
}
@ -112,7 +113,7 @@ namespace dxvk {
}
inline bool IsNull() {
return m_texture->Desc()->Format == D3D9Format::NULL_FORMAT;
return m_isNull;
}
inline IDirect3DBaseTexture9* GetBaseTexture() {
@ -137,6 +138,7 @@ namespace dxvk {
UINT m_face : 8;
UINT m_mipLevel : 16;
UINT m_isSrgbCompatible : 1;
UINT m_isNull : 1;
D3D9ColorView m_sampleView;
D3D9ColorView m_renderTargetView;