diff --git a/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp index b685de211..003645f73 100644 --- a/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp @@ -1889,7 +1889,16 @@ void D3D11PipelineStateViewer::setState() } else { - bool streamOutActive = !state.streamOut.outputs.isEmpty(); + bool streamOutActive = false; + + for(const D3D11Pipe::StreamOutBind &o : state.streamOut.outputs) + { + if(o.resourceId != ResourceId()) + { + streamOutActive = true; + break; + } + } if(state.geometryShader.resourceId == ResourceId() && streamOutActive) { diff --git a/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp index f5ea12fa2..28c36caa4 100644 --- a/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp @@ -1783,7 +1783,16 @@ void D3D12PipelineStateViewer::setState() } else { - bool streamOutActive = !state.streamOut.outputs.isEmpty(); + bool streamOutActive = false; + + for(const D3D12Pipe::StreamOutBind &o : state.streamOut.outputs) + { + if(o.resourceId != ResourceId()) + { + streamOutActive = true; + break; + } + } if(state.geometryShader.resourceId == ResourceId() && streamOutActive) {