MCPcopy Create free account
hub / github.com/baldurk/renderdoc / RT_FetchMeshPipeData

Function RT_FetchMeshPipeData

qrenderdoc/Windows/BufferViewer.cpp:1973–2053  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1971}
1972
1973static void RT_FetchMeshPipeData(IReplayController *r, ICaptureContext &ctx, PopulateBufferData *data)
1974{
1975 uint32_t numIndices = data->postOut2.numIndices;
1976
1977 if(data->inConfig.indices)
1978 data->inConfig.indices->deref();
1979
1980 data->inConfig.indices = NULL;
1981
1982 data->out1Config.numRows = data->postOut1.numIndices;
1983 data->out1Config.unclampedNumRows = 0;
1984
1985 if(data->out1Config.indices)
1986 data->out1Config.indices->deref();
1987 if(data->out1Config.displayIndices)
1988 data->out1Config.displayIndices->deref();
1989 data->out1Config.displayIndices = NULL;
1990
1991 data->out1Config.dispatchSize = data->postOut1.dispatchSize;
1992 data->out1Config.taskSizes = data->postOut1.taskSizes;
1993
1994 if(data->postOut1.vertexResourceId != ResourceId())
1995 {
1996 BufferData *postts = new BufferData;
1997 postts->storage =
1998 r->GetBufferData(data->postOut1.vertexResourceId, data->postOut1.vertexByteOffset, 0);
1999
2000 postts->stride = data->postOut1.vertexByteStride;
2001
2002 // ref passes to model
2003 data->out1Config.buffers.push_back(postts);
2004 }
2005
2006 data->out1Config.statusString = data->postOut1.status;
2007
2008 if(data->out2Config.indices)
2009 data->out2Config.indices->deref();
2010 if(data->out2Config.displayIndices)
2011 data->out2Config.displayIndices->deref();
2012 data->out2Config.displayIndices = NULL;
2013
2014 uint32_t count = 0;
2015 for(const MeshletSize &meshletSize : data->postOut2.meshletSizes)
2016 {
2017 data->out2Config.meshletVertexPrefixCounts.push_back(count);
2018 count += meshletSize.numIndices;
2019 }
2020
2021 data->out2Config.numRows = numIndices;
2022 data->out2Config.unclampedNumRows = 0;
2023
2024 data->out2Config.topology = data->postOut2.topology;
2025 data->out2Config.perPrimitiveOffset = data->postOut2.perPrimitiveOffset;
2026 data->out2Config.perPrimitiveStride = data->postOut2.perPrimitiveStride;
2027
2028 bytebuf idata = r->GetBufferData(data->postOut2.indexResourceId, data->postOut2.indexByteOffset,
2029 numIndices * data->postOut2.indexByteStride);
2030

Callers 1

OnEventChangedMethod · 0.85

Calls 8

ResourceIdFunction · 0.50
memcpyFunction · 0.50
derefMethod · 0.45
GetBufferDataMethod · 0.45
push_backMethod · 0.45
resizeMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected