mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-28 17:36:36 +00:00
Don't serialise D3D12_STREAM_OUTPUT_DESC.pBufferStrides if NumEntries==0
* This is true even if NumStrides is a high number, it's entirely ignored.
This commit is contained in:
@@ -514,7 +514,14 @@ void DoSerialise(SerialiserType &ser, D3D12_STREAM_OUTPUT_DESC &el)
|
||||
{
|
||||
SERIALISE_MEMBER_ARRAY(pSODeclaration, NumEntries);
|
||||
SERIALISE_MEMBER(NumEntries);
|
||||
SERIALISE_MEMBER_ARRAY(pBufferStrides, NumStrides);
|
||||
if(el.NumEntries > 0)
|
||||
{
|
||||
SERIALISE_MEMBER_ARRAY(pBufferStrides, NumStrides);
|
||||
}
|
||||
else
|
||||
{
|
||||
SERIALISE_MEMBER_ARRAY_EMPTY(pBufferStrides);
|
||||
}
|
||||
SERIALISE_MEMBER(NumStrides);
|
||||
SERIALISE_MEMBER(RasterizedStream);
|
||||
}
|
||||
|
||||
@@ -55,10 +55,16 @@ float4 main() : SV_Target0
|
||||
|
||||
ID3D12RootSignaturePtr sig = MakeSig({});
|
||||
|
||||
ID3D12PipelineStatePtr pso = MakePSO().RootSig(sig).InputLayout().VS(vsblob).PS(psblob);
|
||||
|
||||
ResourceBarrier(vb, D3D12_RESOURCE_STATE_COMMON, D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER);
|
||||
|
||||
D3D12PSOCreator psoCreator = MakePSO().RootSig(sig).InputLayout().VS(vsblob).PS(psblob);
|
||||
psoCreator.GraphicsDesc.StreamOutput.NumEntries = 0;
|
||||
psoCreator.GraphicsDesc.StreamOutput.pSODeclaration = (D3D12_SO_DECLARATION_ENTRY *)0x3456;
|
||||
psoCreator.GraphicsDesc.StreamOutput.NumStrides = 0xcccccccc;
|
||||
psoCreator.GraphicsDesc.StreamOutput.pBufferStrides = (UINT *)0x1234;
|
||||
|
||||
ID3D12PipelineStatePtr pso = psoCreator;
|
||||
|
||||
ID3D12Device4Ptr dev4 = dev;
|
||||
|
||||
// if D3D12.4 (??) is available, use different interfaces
|
||||
|
||||
Reference in New Issue
Block a user