Fix missing ElementSize for structured UAVs bound on output merger

This commit is contained in:
baldurk
2017-04-04 13:33:24 +01:00
parent e1ea59e2e4
commit 8f4c17c19b
+8 -1
View File
@@ -1056,7 +1056,6 @@ D3D11PipelineState D3D11Replay::MakePipelineState()
if(desc.Buffer.Flags & (D3D11_BUFFER_UAV_FLAG_APPEND | D3D11_BUFFER_UAV_FLAG_COUNTER))
{
view.Structured = true;
view.BufferStructCount = m_pDevice->GetDebugManager()->GetStructCount(rs->OM.UAVs[s]);
}
@@ -1070,6 +1069,14 @@ D3D11PipelineState D3D11Replay::MakePipelineState()
view.FirstElement = desc.Buffer.FirstElement;
view.NumElements = desc.Buffer.NumElements;
view.Flags = desc.Buffer.Flags;
D3D11_BUFFER_DESC bufdesc;
((ID3D11Buffer *)res)->GetDesc(&bufdesc);
view.Structured = bufdesc.StructureByteStride > 0 && desc.Format == DXGI_FORMAT_UNKNOWN;
if(view.Structured)
view.ElementSize = bufdesc.StructureByteStride;
}
else if(desc.ViewDimension == D3D11_UAV_DIMENSION_TEXTURE1D)
{