| 1008 | } |
| 1009 | |
| 1010 | uint32_t SDFSBS::fetchCount(RenderContext* pRenderContext, const ref<Buffer>& pBuffer) |
| 1011 | { |
| 1012 | if (!mpCountStagingBuffer) |
| 1013 | { |
| 1014 | mpCountStagingBuffer = mpDevice->createBuffer(4, ResourceBindFlags::None, MemoryType::ReadBack); |
| 1015 | } |
| 1016 | |
| 1017 | // Copy result to staging buffer. |
| 1018 | pRenderContext->copyBufferRegion(mpCountStagingBuffer.get(), 0, pBuffer.get(), 0, 4); |
| 1019 | pRenderContext->submit(true); |
| 1020 | |
| 1021 | // Read back final results. |
| 1022 | uint32_t finalResults = *reinterpret_cast<uint32_t*>(mpCountStagingBuffer->map()); |
| 1023 | mpCountStagingBuffer->unmap(); |
| 1024 | return finalResults; |
| 1025 | } |
| 1026 | |
| 1027 | void SDFSBS::compactifyChunks(RenderContext* pRenderContext, uint32_t chunkCount) |
| 1028 | { |
nothing calls this directly
no test coverage detected