chore: sync workspace state
This commit is contained in:
@@ -33,12 +33,41 @@ bool D3D12Texture::Initialize(ID3D12Device* device, const D3D12_RESOURCE_DESC& d
|
||||
return false;
|
||||
}
|
||||
|
||||
m_format = FromD3D12(desc.Format);
|
||||
switch (desc.Dimension) {
|
||||
case D3D12_RESOURCE_DIMENSION_TEXTURE1D:
|
||||
m_textureType = TextureType::Texture1D;
|
||||
break;
|
||||
case D3D12_RESOURCE_DIMENSION_TEXTURE3D:
|
||||
m_textureType = TextureType::Texture3D;
|
||||
break;
|
||||
case D3D12_RESOURCE_DIMENSION_TEXTURE2D:
|
||||
default:
|
||||
m_textureType = TextureType::Texture2D;
|
||||
break;
|
||||
}
|
||||
m_ownsResource = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool D3D12Texture::InitializeFromExisting(ID3D12Resource* resource, bool ownsResource) {
|
||||
m_resource = resource;
|
||||
if (m_resource) {
|
||||
const D3D12_RESOURCE_DESC desc = m_resource->GetDesc();
|
||||
m_format = FromD3D12(desc.Format);
|
||||
switch (desc.Dimension) {
|
||||
case D3D12_RESOURCE_DIMENSION_TEXTURE1D:
|
||||
m_textureType = TextureType::Texture1D;
|
||||
break;
|
||||
case D3D12_RESOURCE_DIMENSION_TEXTURE3D:
|
||||
m_textureType = TextureType::Texture3D;
|
||||
break;
|
||||
case D3D12_RESOURCE_DIMENSION_TEXTURE2D:
|
||||
default:
|
||||
m_textureType = TextureType::Texture2D;
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_ownsResource = ownsResource;
|
||||
return true;
|
||||
}
|
||||
@@ -76,6 +105,8 @@ bool D3D12Texture::InitializeFromData(ID3D12Device* device, ID3D12GraphicsComman
|
||||
return false;
|
||||
}
|
||||
m_ownsResource = true;
|
||||
m_format = FromD3D12(format);
|
||||
m_textureType = TextureType::Texture2D;
|
||||
|
||||
textureDesc = m_resource->GetDesc();
|
||||
UINT64 memorySizeUsed = 0;
|
||||
@@ -184,13 +215,22 @@ bool D3D12Texture::InitializeDepthStencil(ID3D12Device* device, uint32_t width,
|
||||
IID_PPV_ARGS(&m_resource)
|
||||
);
|
||||
|
||||
return SUCCEEDED(hResult);
|
||||
if (SUCCEEDED(hResult)) {
|
||||
m_format = FromD3D12(format);
|
||||
m_textureType = TextureType::Texture2D;
|
||||
m_ownsResource = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void D3D12Texture::Shutdown() {
|
||||
if (m_ownsResource) {
|
||||
m_resource.Reset();
|
||||
}
|
||||
m_resource.Reset();
|
||||
m_state = ResourceStates::Common;
|
||||
m_format = Format::Unknown;
|
||||
m_textureType = TextureType::Texture2D;
|
||||
m_ownsResource = false;
|
||||
}
|
||||
|
||||
} // namespace RHI
|
||||
|
||||
Reference in New Issue
Block a user