| 1971 | } |
| 1972 | |
| 1973 | static 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 |
no test coverage detected