chore: sync workspace state

This commit is contained in:
2026-03-29 01:36:53 +08:00
parent eb5de3e3d4
commit e5cb79f3ce
4935 changed files with 35593 additions and 360696 deletions

View File

@@ -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