| 83 | } |
| 84 | |
| 85 | void ComputeContext::clearUAVCounter(const ref<Buffer>& pBuffer, uint32_t value) |
| 86 | { |
| 87 | if (pBuffer->getUAVCounter()) |
| 88 | { |
| 89 | resourceBarrier(pBuffer->getUAVCounter().get(), Resource::State::UnorderedAccess); |
| 90 | |
| 91 | auto resourceEncoder = mpLowLevelData->getResourceCommandEncoder(); |
| 92 | gfx::ClearValue clearValue = {}; |
| 93 | clearValue.color.uintValues[0] = clearValue.color.uintValues[1] = clearValue.color.uintValues[2] = clearValue.color.uintValues[3] = |
| 94 | value; |
| 95 | resourceEncoder->clearResourceView( |
| 96 | pBuffer->getUAVCounter()->getUAV()->getGfxResourceView(), &clearValue, gfx::ClearResourceViewFlags::None |
| 97 | ); |
| 98 | mCommandsPending = true; |
| 99 | } |
| 100 | } |
| 101 | |
| 102 | void ComputeContext::submit(bool wait) |
| 103 | { |
no test coverage detected