Implement D3D12's CreateSampler2 and new sampler parameters

This commit is contained in:
baldurk committed 2023-05-19 14:54:39 +01:00
1 parent d3edbc5dd1
commit 28dcc80892
21 files changed
+436 -93

No files matched your search

@@ -1314,11 +1314,20 @@ void D3D12PipelineStateViewer::setShaderState(
if(shaderInput && !shaderInput->name.empty())
regname += lit(": ") + shaderInput->name;
QString borderColor = QFormatStr("%1, %2, %3, %4")
.arg(s.borderColor[0])
.arg(s.borderColor[1])
.arg(s.borderColor[2])
.arg(s.borderColor[3]);
QString borderColor;
if(s.borderColorType == CompType::Float)
borderColor = QFormatStr("%1, %2, %3, %4")
.arg(s.borderColorValue.floatValue[0])
.arg(s.borderColorValue.floatValue[1])
.arg(s.borderColorValue.floatValue[2])
.arg(s.borderColorValue.floatValue[3]);
else
borderColor = QFormatStr("%1, %2, %3, %4")
.arg(s.borderColorValue.uintValue[0])
.arg(s.borderColorValue.uintValue[1])
.arg(s.borderColorValue.uintValue[2])
.arg(s.borderColorValue.uintValue[3]);
QString addressing;
@@ -1353,6 +1362,9 @@ void D3D12PipelineStateViewer::setShaderState(
if(s.UseBorder())
addressing += QFormatStr("<%1>").arg(borderColor);
if(s.unnormalized)
addressing += lit(" (Non-norm)");
QString filter = ToQStr(s.filter);
if(s.maxAnisotropy > 1)
@@ -2927,11 +2939,20 @@ void D3D12PipelineStateViewer::exportHTML(QXmlStreamWriter &xml, const D3D12Pipe
if(shaderInput && !shaderInput->name.empty())
regname += lit(": ") + shaderInput->name;
QString borderColor = QFormatStr("%1, %2, %3, %4")
.arg(s.borderColor[0])
.arg(s.borderColor[1])
.arg(s.borderColor[2])
.arg(s.borderColor[3]);
QString borderColor;
if(s.borderColorType == CompType::Float)
borderColor = QFormatStr("%1, %2, %3, %4")
.arg(s.borderColorValue.floatValue[0])
.arg(s.borderColorValue.floatValue[1])
.arg(s.borderColorValue.floatValue[2])
.arg(s.borderColorValue.floatValue[3]);
else
borderColor = QFormatStr("%1, %2, %3, %4")
.arg(s.borderColorValue.uintValue[0])
.arg(s.borderColorValue.uintValue[1])
.arg(s.borderColorValue.uintValue[2])
.arg(s.borderColorValue.uintValue[3]);
QString addressing;
@@ -2966,6 +2987,9 @@ void D3D12PipelineStateViewer::exportHTML(QXmlStreamWriter &xml, const D3D12Pipe
if(s.UseBorder())
addressing += QFormatStr("<%1>").arg(borderColor);
if(s.unnormalized)
addressing += lit(" (Un-norm)");
QString filter = ToQStr(s.filter);
if(s.maxAnisotropy > 1)
@@ -1001,11 +1001,20 @@ QVariantList VulkanPipelineStateViewer::makeSampler(const QString &bindset, cons
addressing += addPrefix + lit(": ") + addVal;
if(descriptor.UseBorder())
addressing += QFormatStr(" <%1, %2, %3, %4>")
.arg(descriptor.borderColor[0])
.arg(descriptor.borderColor[1])
.arg(descriptor.borderColor[2])
.arg(descriptor.borderColor[3]);
{
if(descriptor.borderColorType == CompType::Float)
addressing += QFormatStr(" <%1, %2, %3, %4>")
.arg(descriptor.borderColorValue.floatValue[0])
.arg(descriptor.borderColorValue.floatValue[1])
.arg(descriptor.borderColorValue.floatValue[2])
.arg(descriptor.borderColorValue.floatValue[3]);
else
addressing += QFormatStr(" <%1, %2, %3, %4>")
.arg(descriptor.borderColorValue.uintValue[0])
.arg(descriptor.borderColorValue.uintValue[1])
.arg(descriptor.borderColorValue.uintValue[2])
.arg(descriptor.borderColorValue.uintValue[3]);
}
if(descriptor.unnormalized)
addressing += lit(" (Un-norm)");