Fix handling of ResourceMinLODClamp for cubemap textures on D3D12

This commit is contained in:
baldurk
2020-04-20 11:05:40 +01:00
parent 058f437974
commit f2d69e9f9e
2 changed files with 23 additions and 1 deletions
@@ -577,6 +577,13 @@ void D3D12PipelineStateViewer::setViewDetails(RDTreeWidgetItem *node, const D3D1
viewdetails = true;
}
if(view.res.minLODClamp != 0.0f)
{
text += tr("The texture has a ResourceMinLODClamp of %1.\n").arg(view.res.minLODClamp);
viewdetails = true;
}
text = text.trimmed();
node->setToolTip(text);
@@ -2271,7 +2278,7 @@ QVariantList D3D12PipelineStateViewer::exportViewHTML(const D3D12Pipe::View &vie
viewParams += tr("First Slice: %1, Array Size: %2").arg(view.firstSlice).arg(view.numSlices);
}
if(view.minLODClamp > 0.0f)
if(view.minLODClamp != 0.0f)
{
if(!viewParams.isEmpty())
viewParams += lit(", ");
+15
View File
@@ -795,6 +795,21 @@ void D3D12Replay::FillResourceView(D3D12Pipe::View &view, const D3D12Descriptor
view.numMips = srv.Texture3D.MipLevels;
view.minLODClamp = srv.Texture3D.ResourceMinLODClamp;
}
else if(srv.ViewDimension == D3D11_SRV_DIMENSION_TEXTURECUBE)
{
view.numSlices = 6;
view.firstMip = srv.TextureCube.MostDetailedMip;
view.numMips = srv.TextureCube.MipLevels;
view.minLODClamp = srv.TextureCube.ResourceMinLODClamp;
}
else if(srv.ViewDimension == D3D11_SRV_DIMENSION_TEXTURECUBEARRAY)
{
view.numSlices = srv.TextureCubeArray.NumCubes * 6;
view.firstSlice = srv.TextureCubeArray.First2DArrayFace;
view.firstMip = srv.TextureCubeArray.MostDetailedMip;
view.numMips = srv.TextureCubeArray.MipLevels;
view.minLODClamp = srv.TextureCube.ResourceMinLODClamp;
}
}
else if(desc->GetType() == D3D12DescriptorType::UAV)
{